Consul 留给你的时间不多了

💡 原文中文,约9400字,阅读约需23分钟。
📝

内容提要

HashiCorp宣布将其许可政策从Mozilla公共许可证v2.0更改为商业源代码许可证(BSL)v1.1,引发了争议和抵制。BSL许可证允许在商业源代码期间提供付费支持和服务。Nacos被介绍为HashiCorp产品的潜在替代方案,提供更好的许可条款、CAP支持、可靠性和生态系统集成。提供了使用Nacos Sync从Consul迁移到Nacos的指南。

🔎

延伸解读

BSL 许可证的实际影响与风险

HashiCorp 将 Consul 等产品从 MPL 2.0 切换到 BSL 1.1,意味着新版本不再属于开源协议。BSL 允许在商业源代码期内提供付费支持,但 HashiCorp 的条款禁止以托管或嵌入方式向第三方提供与付费版本竞争的服务。这种表述模糊,企业若不确定自身使用场景是否构成竞争,需发邮件咨询,否则可能面临法务风险。因此,继续使用最新版本需谨慎评估合规性。

旧版本可继续使用但隐患明显

BSL 变更不具有追溯性,之前遵循 MPL 2.0 的版本仍可无限期使用。然而,这些旧版本无法获得新特性、优化和 bug 修复,安全漏洞修复也截止到 2023 年 12 月 31 日。长期依赖旧版本会导致业务稳定性下降,并可能暴露于未修补的安全风险中。对于生产环境,这并非可持续方案,用户需尽快规划迁移或替代。

Nacos 作为替代方案的选型依据

文章对比了 Nacos、Consul、Eureka 和 ZooKeeper,从许可证、CAP 支持、高可靠和生态集成四个维度评估。Nacos 采用 Apache 2.0 许可证,无商用限制,支持 AP 和 CP 模式切换,具备健康检查、过载保护和多数据中心容灾能力,并与 Kubernetes 生态集成。国内使用率超过 50%,社区活跃,版本迭代快,这些因素使其成为 Consul 的可行替代。

平滑迁移的关键步骤与工具

迁移依赖 Nacos Sync 组件,它支持 Consul 到 Nacos 的服务同步,延时控制在 3 秒内,单机可支撑 6K 同步任务。迁移过程分四步:安装 Nacos Sync 同步服务;改造 Consumer 指向 Nacos,可回滚;改造 Provider 注册到 Nacos,可回滚;确认无误后下线 Nacos Sync 和 Consul。通过 MSE 控制台可白屏化操作,先评估规格再迁移上云,降低业务中断风险。

❓

Q&A

HashiCorp 将许可证从 MPL 2.0 改为 BSL 1.1,具体涉及哪些产品?

涉及的产品包括 Terraform、Packer、Vault、Boundary、Consul、Nomad、Waypoint 和 Vagrant。

BSL 许可证变更后,之前 MPL 2.0 下的版本还能继续使用吗?

可以。BSL 许可证变更不具有追溯性,更改之前的所有源代码和版本仍处于 MPL 2.0 许可证之下,可以根据原始许可无限期地继续使用这些版本。

使用 HashiCorp 的 BSL 许可证版本有哪些风险?

主要风险是法务合规风险。BSL 许可证限制不能以托管或嵌入的方式向第三方提供竞争力的产品,以与 HashiCorp 的付费版本竞争。如果不清楚是否存在潜在的产品竞争关系,需要发邮件向 HashiCorp 咨询,具体解释权归 HashiCorp 所有,这给企业用户在生产环境中使用带来了很大的不确定性。

为什么推荐 Nacos 作为 Consul 的替代品?

Nacos 在 license、CAP 支持、高可靠和生态支持方面都优于 Consul、Eureka 和 Zookeeper。Nacos 提供更好的许可条款,支持动态服务发现、配置管理和服务管理,适合云原生应用,并且在国内市场占有率排名第一,社区活跃,与 Kubernetes 生态集成良好。

如何将 Consul 平滑迁移到 Nacos?

可以使用 Nacos Sync 工具进行平滑迁移。整体迁移过程包括:1. 安装 Nacos Sync 完成 Consul 至 Nacos 的服务同步;2. 服务 Consumer 改造配置,服务发现指向 Nacos,若出现问题可回滚;3. 服务 Provider 改造配置,服务注册指向 Nacos,若出现问题可回滚;4. 确认无问题后,下线 Nacos Sync 和 Consul。

Nacos Sync 是什么?它支持哪些注册中心之间的同步?

Nacos Sync 是一个支持多种注册中心的同步组件,基于 Spring Boot 开发,数据层采用 Spring Data JPA,支持多种数据源存储。它支持以下同步:Nacos 到 Nacos、Zookeeper 到 Nacos、Nacos 到 Zookeeper、Eureka 到 Nacos、Consul 到 Nacos。

🏷️

标签

➡️

继续阅读