dubbo 2.5.3是最新的版本
dubbox 2.8.4是dubbox
dubbo
provider配置:
<!--提供应用方信息,用于计算依赖关系-->
<dubbo:application name="dubboxdemo_service"/>
<!--配置zookeeper注册中心暴露服务地址-->
<dubbo:registry address="zookeeper://192.168.37.131:2181"/>
<!--用户协议在20880端口暴露-->
<dubbo:protocol name="dubbo" port="20880"/>
<!-- 声明需要暴露的服务接口 @component("demoService")-->
<dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService" />
<!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->
<dubbo:annotation package="com.alanc.dubboxdemo.controller" />
<!-- 多注册中心配置,竖号分隔表示同时连接多个不同注册中心,同一注册中心的多个集群地址用逗号分隔 -->
<!-一个注册中心集群配置sample-->
<dubbo:registry address="zookeeper://192.168.25.129:2181backup=192.168.25.130:2181,192.168.25.131:2181"/>
<!-两个注册中心配置sample-->
dubbo.registry.address=192.168.220.128:2181|192.168.221.129:2181,192.168.221.130:2181,192.168.221.131:2181
consumer配置:
<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="dubboxdemo_web" />
<!-- 使用zookeeper注册中心暴露发现服务地址 -->
<dubbo:registry address="zookeeper://192.168.37.131:2181" />
<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference id="demoService" interface="com.alibaba.dubbo.demo.DemoService" />
retries="2" 重试次数
cluster="failover" 容错机制
Failover 失败自动切换
当出现失败,重试其它服务器,通常用于读操作(推荐使用)。 重试会带来更长延迟。
Failfast 快速失败
只发起一次调用,失败立即报错,通常用于非幂等性的写操作。 如果有机器正在重启,可能会出现调用失败 。
Failsafe 失败安全
出现异常时,直接忽略,通常用于写入审计日志等操作。 调用信息丢失 可用于生产环境 Monitor。
Failback 失败自动恢复
后台记录失败请求,定时重发。通常用于消息通知操作 不可靠,重启丢失。 可用于生产环境 Registry。
Forking 并行调用多个服务器
只要一个成功即返回,通常用于实时性要求较高的读操作。 需要浪费更多服务资源 。
Broadcast
广播调用,所有提供逐个调用,任意一台报错则报错。通常用于更新提供方本地状态 速度慢,任意一台报错则报错
<!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->
<dubbo:annotation package="com.alanc.dubboxdemo.controller" />
dubbo管控台的安装
1、从github上拿源码直接运行pom文件
不同服务使用不同注册中心
<dubbo:application name="dubbo-provider-app" />
<dubbo:registry id="qd_registry" address="zookeeper://127.0.0.1:2181" />
<dubbo:registry id="wh_registry" address="zookeeper://127.0.0.1:2183" default="false" />
<dubbo:protocol name="dubbo" port="20880" />
<dubbo:service interface="com.ricky.dubbo.api.DemoService" ref="demoService" registry="qd_registry" />
<dubbo:service interface="com.ricky.dubbo.api.HelloService" ref="helloService" registry="wh_registry" />