dubbo支持好几种通信协议,各个协议优劣参考如下博客:
https://blog.csdn.net/yuer2008200820008/article/details/80208025
因为教程里面演示了hession和dubbo协议,故先记住这两个:
dubbo协议为:
Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用dubbo协议传输大文件或超大字符串。
适用场景:常规远程服务方法调用
hession协议:
Hessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用Servlet暴露服务,Dubbo缺省内嵌Jetty作为服务器实现
适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。
适用场景:页面传输,文件传输,或与原生hessian服务互操作
dubbo支持的协议: dubbo、RMI、hessian、webservice、http、Thrift
dubbo可以在程序里面针对不同的服务使用不同的协议。
hessian协议演示
引入jar包
com.caucho
hessian
4.0.38
javax.servlet
servlet-api
2.5
org.mortbay.jetty
jetty
6.1.26
修改provider.xml
指定service服务的协议版本号
消费端改造
hessian%3A%2F%2F177.1.1.82%3A8090%2Fcom.gupao.vip.mic.dubbo.order.IOrderServices%3Fanyhost%3Dtrue%26application%3Dorder-provider%26dubbo%3D2.5.3%26interface%3Dcom.gupao.vip.mic.dubbo.order.IOrderServices%26methods%3DdoOrder%26owner%3Dmic%26pid%3D3116%26server%3Djetty%26side%3Dprovider%26timestamp%3D1503145940360,
dubbo%3A%2F%2F177.1.1.82%3A20880%2Fcom.gupao.vip.mic.dubbo.order.IOrderServices%3Fanyhost%3Dtrue%26application%3Dorder-provider%26dubbo%3D2.5.3%26interface%3Dcom.gupao.vip.mic.dubbo.order.IOrderServices%26methods%3DdoOrder%26owner%3Dmic%26pid%3D3116%26side%3Dprovider%26timestamp%3D1503145950346]
hessian://177.1.1.82:8090/com.gupao.vip.mic.dubbo.order.IOrderServices