Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移

这篇具有很好参考价值的文章主要介绍了Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先思考一个问题:如果 Dubbo 应用使用 ZooKeeper 作为注册中心,现在需要切换到新的 ZooKeeper 实例,如何做到流量无损?

本文提供解决这个问题的一种方案。

场景

  • 有两个基于 Dubbo 的微服务应用,一个是服务提供者,简称 Provider,另一个是服务消费者,简称 Consumer;

  • 使用 ZooKeeper 作为注册中心;

  • 现在要将注册中心从旧实例「ZooKeeper(旧)」 切换到新实例「ZooKeeper(新)」;

  • 要求流量无损;

注:实际的场景可能要复杂得多,比如可能涉及很多个应用,有的应用既是服务提供者又是服务消费者等等,但原理一致。

解决方案

主要利用 Dubbo 支持多注册中心的特性来进行设计。

Dubbo 多注册中心的用法参考 多注册中心 | Apache Dubbo。

Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移,dubbo,zookeeper,分布式,云原生

Step 1 是现状;

Step 2 将新实例「ZooKeeper(新)」加入到 Provider 的注册中心列表中,且放在首位,此时 Provider 同时向「ZooKeeper(新)」和「ZooKeeper(旧)」注册,默认为新;

Step 3 将 Consumer 的注册中心修改为「ZooKeeper(新)」;

Step 4 将「ZooKeeper(旧)」从 Provider 的注册中心列表中移除。

注:有一种特殊情况是一个服务既作为服务提供者又作为其它服务的消费者,这种情况应将其视为 Provider。

至此,我们已经实现了流量无损的迁移。文章来源地址https://www.toymoban.com/news/detail-690856.html

到了这里,关于Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DUBBO注册中心

    providers: 服务提供者目录,记录着服务提供者的ip、端口等信息。 consumers: 服务消费者目录,记录服务消费者的元数据信息,服务提供者并不会用到服务消费者的信息,这里要记录消费者的信息,是给服务治理中心(dubbo-admin)使用的。 routers: 用于消费者路由策略元数据信息。

    2023年04月14日
    浏览(27)
  • zookeeper 查询注册的 dubbo 服务

    1. 连接zookeeper 服务端 使用bin 目录下zk客户端连接服务器, ./zkCli.sh -server  127.0.0.1:2181 2. 查询Dubbo 服务 # 查询所有服务 ls /dubbo   # 查询指定服务调用 ls /dubbo/服务名(接口地址)/consumers   # 查询指定服务调用 ls /dubbo/服务名(接口地址)/providers 3. 返回值实例 返回值查看不是很明显

    2024年02月10日
    浏览(33)
  • Dubbo 融合 Nacos 成为注册中心

    Dubbo 融合 Nacos 成为注册中心的操作步骤非常简单,大致步骤可分为“增加 Maven 依赖”以及“配置注册中心“。 增加 Maven 依赖 只需要依赖Dubbo客户端即可,关于推荐的使用版本,请参考Dubbo官方文档或者咨询Dubbo开发人员: 配置注册中心 假设您 Dubbo 应用使用 Spring Framework 装

    2024年02月12日
    浏览(28)
  • SpringCloud | Dubbo 微服务实战——注册中心详解

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家 :https://www.captainbed.cn/z chatgpt体验地址 在项目开发过程中,随着项目不断扩大,也就是业务的不断增多,我们将采用集群,微服务的形式去降低配置,集群是指将一个项目部署到多个服

    2024年02月05日
    浏览(28)
  • 基于Dubbo和Nacos搭建微服务的配置中心和服务注册中心

    1.添加nacos依赖 2.配置application.properties PS:nacos2.0除了需要8848的端口之外,还新增了端口+1000的新端口用于客户端和服务端GRPC通信的端口,所以如果是自己部署的nacos需要放开这俩个端口,服务才可以启动成功。 3.配置类 3.1 添加Spring Cloud原生注解 @EnableDiscoveryClient 3.2 客户端服

    2024年02月16日
    浏览(35)
  • SpringCloud + Gateway(网关) + Nacos(注册中心+配置中心)+ Dubbo(内部服务调用)

    Apache Dubbo是一款微服务开发框架,它提供了 RPC通信 与 微服务治理 两大关键能力 1、协议支持方面 Feign更加优雅简单。Feign是通过REST API实现的远程调用,基于Http传输协议,服务提供者需要对外暴露Http接口供消费者调用,服务粒度是http接口级的。通过短连接的方式进行通信,

    2024年02月06日
    浏览(51)
  • 启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析

    原创/朱季谦 遇到一个很诡异的问题,我在启动多个配置相同zookeeper的Dubbo项目时,其他项目都是正常启动,唯独有一个项目在启动过程中,Dubbo注册zookeeper协议时,竟然出现了这样的异常提示—— 我愣了一下,原以为是zookeeper集群挂了,然后检查了一下,都正常啊,奇怪的是

    2024年02月04日
    浏览(33)
  • 在项目中同时使用SpringCloud和Dubbo,注册中心选用Eureka?

    在pom.xml文件中添加Dubbo相关依赖:服务提供者和服务消费者都需要 1)配置服务提供者 1、在配置文件中配置Dubbo的相关信息: 2、在服务提供者的启动类上添加@EnableDubbo注解: 3、编写服务提供者的接口和实现类: 添加@Service,指定interfaceClass属性来指定要暴露的接口 2)配置

    2024年01月18日
    浏览(28)
  • zookeeper作为注册中心 如何查看被注册情况

    作为注册中心,Zookeeper可以用来存储和管理服务的元数据信息,包括服务名称、版本号、IP地址、端口号等。要查看已经注册在Zookeeper上的服务实例信息,可以使用zkCli.sh脚本或者ZooInspector工具来实现。 使用zkCli.sh脚本: 进入Zookeeper安装目录的bin文件夹下; 执行以下命令连接

    2023年04月21日
    浏览(31)
  • 七、Zookeeper注册中心

    目录 1、下载Zookeeper的服务jar包 2、下载好jar包后解压放到合适的目录(目录最好不要有中文及空格) 3、进入解压后的conf目录,复制zoo_sample.cfg文件并重命名为zoo.cfg,修改zoo.cfg文件内容如下 4、运行bin目录下的zkServer.cmd ,启动zookeeper服务 5、下载zookeeper可视化监控工具ZooIn

    2024年02月05日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包