Dubbo实战(二)多协议配置

xiaoxiao2021-02-28  102

本文将展示如何在Dubbo中使用多协议来暴露服务。

转载地址:http://blog.csdn.net/top_code/article/details/51935344

1、不同服务不同协议

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

provider-multi-protocol.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="dubbo-provider-app" /> <!-- 使用zookeeper注册中心暴露服务地址 --> <dubbo:registry id="zk_registry" address="zookeeper://127.0.0.1:2181" /> <!-- 多协议配置 --> <dubbo:protocol name="dubbo" port="20880" /> <dubbo:protocol name="rmi" port="20980" /> <!-- 使用dubbo协议暴露服务 --> <dubbo:service interface="com.ricky.dubbo.api.DemoService" ref="demoService" protocol="dubbo" /> <!-- 使用rmi协议暴露服务 --> <dubbo:service interface="com.ricky.dubbo.api.HelloService" ref="helloService" protocol="rmi" /> <bean id="demoService" class="com.ricky.dubbo.provider.impl.DemoServiceImpl"/> <bean id="helloService" class="com.ricky.dubbo.provider.impl.HelloServiceImpl"/> </beans> 12 192021222324252627

2、多协议暴露服务

例如,需要与http客户端互操作,配置如下: provider-multi-protocol.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="dubbo-provider-app" /> <!-- 使用zookeeper注册中心暴露服务地址 --> <dubbo:registry id="zk_registry" address="zookeeper://127.0.0.1:2181" /> <!-- 多协议配置 --> <dubbo:protocol name="dubbo" port="20880" /> <dubbo:protocol name="hessian" port="20980" /> <!-- 使用dubbo协议暴露服务 --> <dubbo:service interface="com.ricky.dubbo.api.DemoService" ref="demoService" protocol="dubbo" /> <!-- 使用rmi协议暴露服务 --> <dubbo:service interface="com.ricky.dubbo.api.HelloService" ref="helloService" protocol="dubbo,hessian" /> <bean id="demoService" class="com.ricky.dubbo.provider.impl.DemoServiceImpl"/> <bean id="helloService" class="com.ricky.dubbo.provider.impl.HelloServiceImpl"/> </beans>

其中,HelloService同时使用dubbo,hessian协议对外提供服务。

参考资料

Dubbo User Guide:http://dubbo.io/User+Guide-zh.htm

转载请注明原文地址: https://www.6miu.com/read-20208.html

最新回复(0)