技术交流群:534368042
起因:项目在服务化之后,开辟了一个新的专有云机房A,在原有物理机房B系统不迁移的情况下,需要A的系统调用B的各种dubbo服务,且A到B之间不能直接访问需要通过交换机做网络映射,现有B内部的网段是192.168.1.X A网段59.10.59.X 映射后A访问B的网段是10.59.10.X,造成A消费者无法直接注册到B的zookeeper集群注册中心,访问B的服务。
方案:通过dubbo的双注册中心的模式,A机房访问B机房服务通过修改A机房机器的hosts
例如B机房服务内网地址192.168.1.120 机器名app1 这在A机房机器消费者hosts配置app1 192.168.1.120服务注册是dubbo://app1:20880/XXX/XXX,B机房消费者保持不变,网络架构如下:
1.dubbo在A机房zookeeper注册中心通过app1模式,在B机房192.168.1.X 配置如下:
1 2 3 4 5 6 |
<!-- 多注册中心配置 --> <dubbo:registry id="hangzhouRegistry" address="192.168.1.110:20880" /> <dubbo:registry id="qingdaoRegistry" address="app1:20880" default="false" /> <!-- 向多个注册中心注册 --> <dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="hangzhouRegistry,qingdaoRegistry" /> |
2.修改dubbo包的的AbstractServer类构造函数
相关推荐
有赞的Dubbo框架存在痛点,包括版本迭代时对业务方注册中心迁移的依赖,以及容器化场景下服务治理规则的统一。 为了解决这些问题,有赞选择了将Dubbo与Service Mesh融合。这一过程分为几个步骤:设计统一的路由规则...
此外,Dubbo 提供了条件路由、脚本路由等策略,使得服务调用的流量可以在运行时动态调度,实现灰度发布、同机房优先等功能。 8. 示例: - 服务提供者定义接口`HelloService`和其实现类`HelloServiceImpl`,并通过...
随着业务发展,京东发展了第二代JSF,引入了自研的RPC框架、注册中心,以及更强大的监控和管理平台,以应对接口和机器数量的快速增长、多机房挑战及跨语言需求。 在实际选型过程中,不仅要考虑当前的技术需求,还要...
Dubbo服务调试之服务只订阅及服务只注册配置 Dubbo服务接口的设计原则(实战经验) Dubbo设计原理及源码分析 基于Dubbo构建大型分布式电商平台实战雏形 Dubbo容错机制及扩展性分析 分布式解决方案 分布式全局...
随着业务发展,第二代JSF自研了框架,以适应多机房、跨语言的需求,并引入了自研注册中心和更强大的管理平台。 一个完善的服务化框架还需要包含配置中心、接口文档管理、监控中心、分布式跟踪、服务治理和网关等...
这涉及选择合适的开源注册中心、考虑其容量、服务下线的感知与通知机制,以及是否需要自研解决方案。注册中心的设计需考虑到网络通信、负载均衡、健康检查、数据存储和分布式选举算法等复杂因素。 接着,**服务的...
OceanBase作为高可用的分布式数据库,基于Paxos协议实现强一致性和持续可用性,即使在单机、机房或城市级故障下也能不停服务,不丢失数据,对比传统主备库方案,具有更好的容错能力和多活能力。 总的来说,蚂蚁金服...