- 浏览: 71202 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Alex_Cheung:
对了,第二个没有提取码,请知悉。
一大波视频分享 -
Alex_Cheung:
谢谢分享。
一大波视频分享 -
Jiy:
很详细,谢谢分享
java并发之同步辅助类Phaser -
walle1027:
非常不错,学习了。
java并发之同步辅助类Phaser -
huangjinjin520:
somefuture 写道除了单词写错了 其他挺好的已更正
dubbo注解使用详解
一、Dubbo多注册中心
1、 应用场景
例如阿里有些服务来不及在青岛部署,只在杭州部署,而青岛的其它应用需要引用此服务,就可以将服务同时注册到两个注册中心。
consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置 -->
<dubbo:registry id="hangzhouRegistry" address="10.20.141.150:9090" />
<dubbo:registry id="qingdaoRegistry" address="10.20.141.151:9010" default="false" />
<!-- 向多个注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="hangzhouRegistry,qingdaoRegistry" />
</beans>
2、不同服务使用不同注册中心
比如:CRM有些服务是专门为国际站设计的,有些服务是专门为中文站设计的。
consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置 -->
<dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
<dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
<!-- 向中文站注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="chinaRegistry" />
<!-- 向国际站注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.DemoService" version="1.0.0" ref="demoService" registry="intlRegistry" />
</beans>
3、多注册中心引用
比如:CRM需同时调用中文站和国际站的PC2服务,PC2在中文站和国际站均有部署,接口及版本号都一样,但连的数据库不一样。
consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置 -->
<dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
<dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
<!-- 引用中文站服务 -->
<dubbo:reference id="chinaHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="chinaRegistry" />
<!-- 引用国际站站服务 -->
<dubbo:reference id="intlHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="intlRegistry" />
</beans>
consumer.xml如果只是测试环境临时需要连接两个不同注册中心,使用竖号分隔多个不同注册中心地址:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置,竖号分隔表示同时连接多个不同注册中心,同一注册中心的多个集群地址用逗号分隔 -->
<dubbo:registry address="10.20.141.150:9090|10.20.154.177:9010" />
<!-- 引用服务 -->
<dubbo:reference id="helloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" />
</beans>
二、Dubbo多注册中心的服务迁移
1、顾名思义,将服务从一个地儿迁到另一个地儿,例如从A地迁到B地。
2、如何实现多注册中心的服务迁移
步骤一
添加B地的注册中心地址,AB两地的注册中心间用英文的|分割,(同一个服务集群的zk节点使用逗号分割)
例如:dubbo.registry.address=192.168.220.128:2181|192.168.221.129:2181,192.168.221.130:2181,192.168.221.131:2181 这就是两个注册中心配置sample
步骤二
Jenkins重新构建服务,zk1本身就是含有全部服务的,现在构建是将服务部署到zk2集群中。这样就可实现A的zk和B地的zk两套注册中心享有两套相同的服务
步骤三
把服务的消费端都构建一遍;
步骤四
先取消服务消费者调用zk1的服务,具体实施就是去掉第一个zk的配置,然后构建消费者
步骤五
把服务提供者的配置也取消;然后重新构建服务提供者。这样就完成了将zk1中的所有服务迁移到zk2中,且去除zk1中的所有服务。
vue angular dubbo spring 视频
1、 应用场景
例如阿里有些服务来不及在青岛部署,只在杭州部署,而青岛的其它应用需要引用此服务,就可以将服务同时注册到两个注册中心。
consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置 -->
<dubbo:registry id="hangzhouRegistry" address="10.20.141.150:9090" />
<dubbo:registry id="qingdaoRegistry" address="10.20.141.151:9010" default="false" />
<!-- 向多个注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="hangzhouRegistry,qingdaoRegistry" />
</beans>
2、不同服务使用不同注册中心
比如:CRM有些服务是专门为国际站设计的,有些服务是专门为中文站设计的。
consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置 -->
<dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
<dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
<!-- 向中文站注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.HelloService" version="1.0.0" ref="helloService" registry="chinaRegistry" />
<!-- 向国际站注册中心注册 -->
<dubbo:service interface="com.alibaba.hello.api.DemoService" version="1.0.0" ref="demoService" registry="intlRegistry" />
</beans>
3、多注册中心引用
比如:CRM需同时调用中文站和国际站的PC2服务,PC2在中文站和国际站均有部署,接口及版本号都一样,但连的数据库不一样。
consumer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置 -->
<dubbo:registry id="chinaRegistry" address="10.20.141.150:9090" />
<dubbo:registry id="intlRegistry" address="10.20.154.177:9010" default="false" />
<!-- 引用中文站服务 -->
<dubbo:reference id="chinaHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="chinaRegistry" />
<!-- 引用国际站站服务 -->
<dubbo:reference id="intlHelloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" registry="intlRegistry" />
</beans>
consumer.xml如果只是测试环境临时需要连接两个不同注册中心,使用竖号分隔多个不同注册中心地址:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="world" />
<!-- 多注册中心配置,竖号分隔表示同时连接多个不同注册中心,同一注册中心的多个集群地址用逗号分隔 -->
<dubbo:registry address="10.20.141.150:9090|10.20.154.177:9010" />
<!-- 引用服务 -->
<dubbo:reference id="helloService" interface="com.alibaba.hello.api.HelloService" version="1.0.0" />
</beans>
二、Dubbo多注册中心的服务迁移
1、顾名思义,将服务从一个地儿迁到另一个地儿,例如从A地迁到B地。
2、如何实现多注册中心的服务迁移
步骤一
添加B地的注册中心地址,AB两地的注册中心间用英文的|分割,(同一个服务集群的zk节点使用逗号分割)
例如:dubbo.registry.address=192.168.220.128:2181|192.168.221.129:2181,192.168.221.130:2181,192.168.221.131:2181 这就是两个注册中心配置sample
步骤二
Jenkins重新构建服务,zk1本身就是含有全部服务的,现在构建是将服务部署到zk2集群中。这样就可实现A的zk和B地的zk两套注册中心享有两套相同的服务
步骤三
把服务的消费端都构建一遍;
步骤四
先取消服务消费者调用zk1的服务,具体实施就是去掉第一个zk的配置,然后构建消费者
步骤五
把服务提供者的配置也取消;然后重新构建服务提供者。这样就完成了将zk1中的所有服务迁移到zk2中,且去除zk1中的所有服务。
vue angular dubbo spring 视频
发表评论
-
一大波视频分享
2018-06-09 09:36 11381.ps 链接: https://pan.baidu ... -
利用Sharding-Jdbc实现分表
2018-05-24 22:32 3776你们团队使用SpringMVC+Spr ... -
MINA原理详解
2018-05-19 13:51 14861. 通过SocketConnector同服务器端建立连接 ... -
最近有人说我欺骗消费者,今天来一波视频分享
2018-05-12 21:00 1238最近有人说我欺骗消费者,今天来一波视频分享 dubbo入门 ... -
SVN多版本库环境的搭建
2018-05-02 21:00 1196一、 1、启动SVN sudo svn ... -
前端 Java Python等资源合集大放送
2018-04-21 22:11 695如果需要学习视频,欢 ... -
Nginx会话保持之nginx-sticky-module模块
2018-04-16 20:34 1964在使用负载均衡的时候会遇到会话保持的问题,常用的方法有: 1. ... -
dubbo源码学习(四):暴露服务的过程
2018-04-14 11:38 979dubbo采用的nio异步的通信,通信协议默认为 netty, ... -
dubbo源码学习(四)初始化过程细节:解析服务
2018-04-12 20:32 612今天将真正去看dubbo内部的实现过程,看dubbo的源码前我 ... -
dubbo源码学习(二) : spring 自定义标签
2018-04-09 20:29 631做dubbo的配置时很容易发现,dubbo有一套自己的标签,提 ... -
dubbo源码学习一:基础知识及使用的相关技术
2018-04-05 20:10 689Dubbo是Alibaba开源的分布式服务框架,它最大的特点是 ... -
worker模式
2018-03-29 20:16 635今天来学学,大家也好对线程池有一个更好的理解。 public ... -
线程各种状态转移分析
2018-03-28 22:13 898线程在它的生命周期 ... -
生产者-消费者模式实现
2018-03-26 22:45 1159生产者是指:生产数据的线程 消费者是指:使用数据的线程 生产者 ... -
java并发之同步辅助类Phaser
2018-03-19 21:46 1102Phaser含义: 更加复杂和强大的同步辅助类。它允许并发执 ... -
java并发之同步辅助类CyclicBarrier
2018-03-18 20:13 833CyclicBarrier含义: 栅栏允许两个或者多个线程在 ... -
java并发之同步辅助类semaphore
2018-03-14 21:24 779semaphore(seməˌfôr)含义: 信号量就是可以 ... -
Tomcat 集群 文件上传下载的共享问题 NFS配置
2018-03-12 21:50 661Tomcat 集群时上传文件时如何使得多部tomcat中的文件 ... -
it技术谱图分享
2018-03-10 22:05 5151、程序开发语言综述 2、前端工程师必备技能 3、 ... -
捋一捋dubbo配置
2018-03-07 22:37 550配置类关系(Configuration Relation) ...
相关推荐
总的来说,Zookeeper集群的无状态平滑升级和迁移是一项复杂但重要的任务,它涉及到对服务状态的精确控制、数据的完整保护以及对用户影响的最小化。通过精心规划和执行,我们可以确保Zookeeper集群在不断变化的环境中...
当Dubbo服务提供者启动时,它会将自己提供的服务注册到Zookeeper上,包括服务的元数据信息,如接口名、版本、超时时间等。服务消费者在启动时会订阅Zookeeper上的服务,获取服务提供者的地址列表,然后根据负载均衡...
- **服务注册与发现流程**:服务提供者启动后向注册中心注册,服务消费者订阅注册中心获取服务信息,实现服务的自动发现。 - **分层设计**:分为服务接口层、服务代理层、服务注册层、服务消费层、配置中心层等。 ...
4. Dubbo:Dubbo通过Zookeeper实现服务注册与发现,实现服务治理。 四、Zookeeper的编程接口 Zookeeper提供了Java和C两种主要的API,开发者可以通过API实现对ZNode的操作,如创建、读取、更新和删除等。此外,还有...
以上内容涵盖了 Dubbo 中注册中心的作用、服务发现、负载均衡策略、安全机制以及集群容错模式等多个核心知识点。理解这些概念对于在实际项目中使用和优化 Dubbo 非常关键。在面试中,深入讨论这些点可以展示你对...
Dubbo 提供了服务注册、服务发现、调用路由、负载均衡、容错机制等一系列高级特性,广泛应用于微服务架构中。dubbo-admin 是 Dubbo 生态系统的一部分,它使得运维人员能够更方便地管理这些服务,例如查看服务状态、...
2. **服务注册与发现**:讲解如何使用Zookeeper等注册中心实现服务的注册与发现,以及服务元数据的管理。 3. **RPC机制**:深入解析Dubbo的远程过程调用(RPC)机制,包括服务接口、序列化、网络通信等环节。 4. *...
面我已经写过一篇的文章,今天为什么还要写这篇呢,是因为好多公司还在用Zookeeper作为Dubbo的注册中心和配置中心在大规模使用,还没有完全迁移到Nacos上来,所以Seata的注册中心和配置也是支持Zookeeper,但是官方...
通过Dubbo,系统能够将复杂业务拆分为多个独立的服务,每个服务都能独立部署和扩展,从而提高系统的弹性和可扩展性。 MySQL作为关系型数据库管理系统,广泛应用于数据存储。在这个影院系统中,MySQL用于存储用户...
- 使用Zookeeper,可以将session信息存储在一个中心化的Znode上,所有服务器都监听这个Znode的变化。 - 当用户在集群中的一个节点创建session时,该session信息会被写入Zookeeper。 - 其他节点通过watcher监听该...
3. **Dubbo**:Dubbo通过Zookeeper实现服务注册与发现,促进服务之间的调用。 4. **HBase**:HBase使用Zookeeper监控RegionServer的状态,处理Region迁移和主Master的选举。 **五、Zookeeper的扩展性与可靠性** ...
- **Dubbo**:Dubbo使用Zookeeper作为注册中心,实现服务发现和负载均衡。 总结来说,Zookeeper 3.4.6是分布式系统中不可或缺的组件,它的稳定性和强大的功能为复杂分布式环境提供了有力的支持。通过理解并熟练运用...
Dubbo 中的服务注册与发现机制允许服务提供者在启动时将自身服务注册到注册中心,服务消费者则通过注册中心获取服务提供者的地址列表。常见的注册中心包括 ZooKeeper、Eureka、Consul 等。服务提供者和消费者通过...
1. 服务注册与发现:Dubbo提供Zookeeper、Eureka等多种服务注册中心,服务提供者启动时会将自己的元数据注册到注册中心,服务消费者则通过注册中心获取服务提供者的地址信息。 2. 负载均衡:Dubbo内置多种负载均衡...
- 如果所有注册中心都宕机,服务提供者和消费者仍可通过本地缓存通信,但新服务无法调用。 3. **Dubbo服务负载均衡策略**: - **Random LoadBalance**:随机选择服务提供者,根据权重设置概率,调用越多,分布越...
- 服务注册层(Registry):负责服务地址的注册和发现,基于URL进行服务的查找和管理。 - 路由层(Cluster):处理多个服务提供者的路由策略,实现负载均衡。 - 监控层(Monitor):监控服务的调用次数和调用时间...
3. **启动服务提供者**:使用 Dubbo 的 ProviderApplication 启动服务提供者,将服务注册到注册中心。 4. **创建服务消费者**:在消费者项目中引入服务提供者的接口,通过 @Reference 注解注入服务实例。 5. **消费...
7. **什么是服务注册与发现?** 服务提供者将服务地址注册到注册中心,服务消费者从注册中心获取服务地址,实现服务的动态发现。 8. **Dubbo支持哪些协议?** 主要有dubbo、http、hessian、rmi、webservice等,...