dubbo应用场景示例三

个人博客请访问 http://www.x0100.top  

1、只注册

如果有两个镜像环境,两个注册中心,有一个服务只在其中一个注册中心有部署,另一个注册中心还没来得及部署,而两个注册中心的其它应用都需要依赖此服务。这个时候,可以让服务提供者方只注册服务到另一注册中心,而不从另一注册中心订阅服务。

禁用订阅配置

<dubbo:registryid="hzRegistry" address="10.20.153.10:9090" /> 

<dubbo:registryid="qdRegistry" address="10.20.141.150:9090"subscribe="false" />

或者

<dubbo:registryid="hzRegistry" address="10.20.153.10:9090" /> 

<dubbo:registryid="qdRegistry" address="10.20.141.150:9090?subscribe=false"/>

2、静态服务

有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式。

<dubbo:registryaddress="10.20.141.150:9090" dynamic="false" />

或者

<dubbo:registryaddress="10.20.141.150:9090?dynamic=false" />

服务提供者初次注册时为禁用状态,需人工启用。断线时,将不会被自动删除,需人工禁用。

如果是一个第三方独立提供者,比如 memcached,可以直接向注册中心写入提供者地址信息,消费者正常使用(通常由脚本监控中心页面等调用):

RegistryFactory registryFactory =ExtensionLoader.getExtensionLoader(RegistryFactory.c  lass).getAdaptiveExtension(); 

Registry registry=registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181")); 

registry.register(URL.valueOf("memcached://10.20.153.11/com.foo.BarService?category=pr  oviders&dynamic=false&application=foo"));

3、多协议

Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。

3.1、不同服务不同协议

不同服务在性能上适用不同协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议。

<?xml version="1.0"encoding="UTF-8"?> 

<beansxmlns="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/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://code.alibabatech.com/schema/dubbo

http: //code.alibabatech.com/schema/dubbo/dubbo.xsd"> 

<dubbo:applicationname="world" /> 

<dubbo:registryid="registry" address="10.20.141.150:9090"username="admin" passwo rd="hello1234" /> 

<!-- 多协议配置--> 

<dubbo:protocolname="dubbo" port="20880" /> 

<dubbo:protocolname="rmi" port="1099" /> 

<!-- 使用dubbo协议暴露服务--> 

<dubbo:serviceinterface="com.alibaba.hello.api.HelloService"version="1.0.0" ref= "helloService" protocol="dubbo" /> 

<!-- 使用rmi协议暴露服务--> 

<dubbo:serviceinterface="com.alibaba.hello.api.DemoService" version="1.0.0"ref="  demoService"protocol="rmi" /> 

</beans>

3.2、多协议暴露服务

需要与 http 客户端互操作

<?xml version="1.0"encoding="UTF-8"?> 

<beansxmlns="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/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://code.alibabatech.com/schema/dubbo

http: //code.alibabatech.com/schema/dubbo/dubbo.xsd"> 

<dubbo:applicationname="world" /> 

<dubbo:registryid="registry" address="10.20.141.150:9090" username="admin"passwo  rd="hello1234"/> 

<!-- 多协议配置--> 

<dubbo:protocolname="dubbo" port="20880" /> 

<dubbo:protocolname="hessian" port="8080" /> 

<!-- 使用多个协议暴露服务--> 

<dubbo:serviceid="helloService"interface="com.alibaba.hello.api.HelloService"version="1.0.0"protocol="dubbo,hessian" /> 

</beans>

 

关注微信公众号和今日头条,精彩文章持续更新中。。。。。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值