赞
踩
1.服务消费者和服务提供者可以不通过注册中心,而直接两者相互连接调用服务,这时使用的就是底层的协议,有八种。
2.以下是8种协议:
①dubbo://
②hessian://
③rmi://
④http://
⑤webservice://
⑥thrift://
⑦memcached://
⑧redis://
3.例如:使用dubbo协议直接连接,而不使用注册中心。
1.采用单一长链接和NIO异步通讯,适合小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
2.Dubbo协议底层默认使用的是netty,性能非常优秀,官方推荐使用此协议。
3.不适合传输大数据量的服务,如传输文件,传视频等,除非请求量很低。
4.<dubbo:protocol name="dubbo" port="20880" />,使用此标签来设置其他协议,默认端口为20880。
5.协议设置的方式:
1.Hessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用servlet暴露服务,Dubbo缺省内嵌Jetty作为服务器实现。
2.Hessian是Caucho开源的一个RPC框架:http://hessian.caucho.com ,其通讯效率高于webservice和java自带的序列化
3.需要加入hessian包,api:com.caucho:hessian:4.0.38
4.<dubbo:protocol name="hessian" port="8080" server="jetty"/>
推荐使用<dubbo:protocol ........ server="servlet"/>
<servlet>
<servlet-name>dubbo</serlvet-name>
<servlet-class>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet</serlvet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dubbo</serlvet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
使用servlet派发请求:
协议的端口<dubbo:protocol port="8080" />必须与servlet容器的端口相同
协议的上下文路径<dubbo:protocol contextpath="userService" />必须与servlet应用的上下文路径相同。
1.<dubbo:protocol name="dubbo" />
2.<dubbo:provider protocol="dubbo" />
3.<dubbo:service protocol="dubbo" />
4.<dubbo:reference protocol="dubbo" />
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。