您的位置:首页 > 其它

Dubbo之旅--扩展协议

2015-05-30 23:06 225 查看
在实际工作中运用dubbo的时候,以上系列的文章基本上能够满足项目的基本需求,当然,对于一些特殊的需求Dubbo可以对其进行扩展,Dubbo拥有者丰富的扩展内容,这次主要将会带领大家去感受一下Dubbo的协议扩展和注册中心扩展.


首先要说的是协议扩展.


为什么要扩展协议呢?什么样的需求需要我们去扩展它?


(1) 不同服务不同协议


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

consumer.xml


<?xmlversion="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="helloworld" />

<dubbo:registryid="registry"address="127.0.0.1:9090"username="admin"password="helloworld"/>


<!-- 多协议配置 -->
<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>



以上例子我们扩展了两个协议,一个是dubbo协议,另一个是rmi协议.读者可以根据自己实际的需求来根据具体的协议来调用具体的服务.

(2) 多协议暴露服务


需求:需要与http客户端互操作


consumer.xml


<?xmlversion="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="helloworld" />

<dubbo:registryid="registry"address="127.0.0.1:9090"username="admin"password="helloworld"/>


<!-- 多协议配置 -->
<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>



通过多个协议暴露服务,相关的消费者可以通过此多种协议来访问此服务.



以上协议扩展的内容在特定的需求下需要进行扩展,接下来的文章我们将会着重来说明注册中心的扩展.注册中心的扩展相对于协议的扩展而言在项目的使用频率更高,而且能够满足我们的各种需求.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: