Dubbo实战(二)多协议配置
2016-07-17 23:11
288 查看
本文将展示如何在Dubbo中使用多协议来暴露服务。
provider-multi-protocol.xml
provider-multi-protocol.xml
其中,HelloService同时使用dubbo,hessian协议对外提供服务。
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>
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相关文章推荐
- Shell脚本实现自动安装zookeeper
- 基于Zookeeper的使用详解
- Dubbo-admin 不支持JDK8 解决办法
- mesos + marathon + docker部署
- 基于zk的配置管理
- 对外提供dubbo服务的最佳实践
- 搭建分布式架构2--CentOs下安装Tomcat7(环境准备)
- 搭建分布式架构4--ZooKeeper注册中心安装
- 搭建分布式架构5--ZooKeeper 集群的安装 3ff0
- dubbo-2.5.4-SNAPSHOT 小bug处理。
- Zookeeper注册中心安装
- SolrCloud4.9+zookeeper在CentOS上的搭建与安装
- dubbo + spring + mybaits 的pom文件列一
- 基于外部ZooKeeper的GlusterFS作为分布式文件系统的完全分布式HBase集群安装指南
- dubbo使用简单说明
- Storm集群的搭建
- Zookeeper配置项说明