dubbo应用场景示例三

Posted HelloWorld搬运工

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo应用场景示例三相关的知识,希望对你有一定的参考价值。

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" />

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

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"ve  rsion="1.0.0"protocol="dubbo,hessian" /> 

</beans>

 


以上是关于dubbo应用场景示例三的主要内容,如果未能解决你的问题,请参考以下文章

dubbo使用应用场景示例一

dubbo应用场景示例四

redis 三. hash应用场景及底层分析

dubbo入门示例

redis 六. list应用场景及底层分析

Dubbo -- 系统学习 笔记 -- 示例 -- 多注册中心