Nacos 集群部署模式最佳实践

本文详细介绍了Nacos的集群部署模式,包括直连模式、VIP模式和地址服务器模式,并分析了各自的优缺点。直连模式简单但不灵活,VIP模式借助负载均衡实现高可用,地址服务器模式通过动态获取地址列表实现解耦。文中还讨论了MSE Nacos的实践,采用域名+SLB的VIP模式,兼顾开源接受度、网络隔离和安全性。
摘要由CSDN通过智能技术生成

前言

Nacos 支持两种部署模式:单机模式和集群模式。在实践中,我们往往习惯用单机模式快速构建一个 Nacos 开发/测试环境,而在生产中,出于高可用的考虑,一定需要使用 Nacos 集群部署模式。我的上一篇文章《一文详解 Nacos 高可用特性》提到了 Nacos 为高可用做了非常多的特性支持,而这些高可用特性大多数都依赖于集群部署模式。这篇模式文章便是给大家介绍一下,在实践中可以被采用的几种集群部署模式,无论你是希望自行搭建 Nacos,还是希望对 MSE 商业版 Nacos 有一个更加深刻的理解,我都很乐意跟你分享下面的内容。

由于篇幅限制,本文不会介绍如何将一个多节点的 Nacos 集群启动起来,主要介绍的是一个多节点的 Nacos 集群启动之后,我们的应用如何很好地连接到 Nacos 集群,即客户端视角。这中间我们会引入一些其他组件以解决一些问题,本文标题也可以叫做《Nacos 接入点最佳实践》。我将会介绍以下三种方案:直连模式、 VIP 模式和地址服务器模式,并对它们进行对比。

直连模式

直连模式是部署上最简单、最容易理解的一种模式。

采用直连模式后,典型的开发场景配置如下:

nacos-client 配置

Properties properties = new Properties();
properties.setProperty(PropertyKeyConst.SERVER_ADDR, "192.168.0.1:8848,192.168.0.2:8848,192.168.0.3:8848");
NamingService namingService = NacosFactory.createNamingService(properties);

注意这里的 PropertyKeyConst.SERVER_ADDR 的字面量是:serverAddr

Dubbo 配置

dubbo.registry.address=192.168.0.1:8848,192.168.0.2:8848,192.168.0.3:8848
dubbo.registry.protocol=nacos

如果有一天,Nacos 的 IP 变了,例如扩缩容,机器置换,集群迁移等场景,所有的应用都需要修改,这样的方式并不灵活。所以并不是生产推荐的模式。

模式分析

  • 高可用性。集群本身的扩缩容必须要改动业务代码才能被感知到,出现节点故障需要紧急下线、紧急扩容等场景,让业务修改代码是不现实的,不符合高可用的原则。
  • 可伸缩性。同上,可伸缩性不好。
  • 架构简单,用户理解成本低。
  • 没有引入额外的组件,没有新增组件的运维成本。

VIP 模式

VIP(Virtual IP) 模式可以很好的解决直连模式 IP 变化所带来的应用批量修改的问题。什么是 VIP 呢?

  • Real
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值