dubbo视频教程_dubbo的常用协议

dubbo视频教程_dubbo的常用协议

更新时间:2018年08月10日

  • 网盘提取码:4lls
  • 适合对象:有Java一定基础学员
  • qq号:2158476996
一键免费下载

下载介绍

更多>>
dubbo视频教程_dubbo的常用协议

dubbo视频教程_dubbo的常用协议


dubbo://


         Dubbo协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。

         Dubbo协议底层默认使用的是netty,性能非常优秀,官方推荐使用此协议

         Dubbo协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低

         ,dubbo协议默认端口20880dubbo协议默认端口20880


hessian://


         Hessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用Servlet暴露服务,Dubbo缺省内嵌Jetty作为服务器实现。

         Hessian是Caucho开源的一个RPC框架:http://hessian.caucho.com,其通讯效率高于WebService和Java自带的序列化。

         需加入hessian包,api 'com.caucho:hessian:4.0.38'

        推荐使用

         

         推荐使用

                  

                            dubbo

                           com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet

                           1

                  

                  

                          dubbo

                         /*

                  


        使用servlet派发请求:


        协议的端口必须与servlet容器的端口相同,

        协议的上下文路径必须与servlet应用的上下文路径相同。



        使用servlet派发请求:


        协议的端口必须与servlet容器的端口相同,

        协议的上下文路径必须与servlet应用的上下文路径相同。


rmi://


        RMI协议采用JDK标准的java.rmi.*实现,采用阻塞式短连接和JDK标准序列化方式

        是Java标准的远程调用协议

        连接个数:多连接

        连接方式:短连接

        传输协议:TCP

        传输方式:同步传输

        序列化:Java标准二进制序列化

        适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。

        适用场景:常规远程服务方法调用,与原生RMI服务互操作

        ,rmi协议默认端口1099


http://


        采用Spring的HttpInvoker实现

        基于http表单的远程调用协议

        连接个数:多连接

        连接方式:短连接

        传输协议:HTTP

        传输方式:同步传输

        序列化:表单序列化

        适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或URL传入参数,暂不支持传文件。

        适用场景:需同时给应用程序和浏览器JS使用的服务。

        参数及返回值需符合Bean规范

        

        

        默认:

        推荐:

        

                 dubbo

                 com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet

                 1

        


        

                 dubbo

                 /*

        


        协议的端口必须与servlet容器的端口相同,

        协议的上下文路径必须与servlet应用的上下文路径相同。


webservice://


        基于CXF的frontend-simple和transports-http实现,CXF是Apache开源的一个RPC框架:http://cxf.apache.org,由Xfire和Celtix合并而来 。

        提供者用Dubbo的WebService协议暴露服务,消费者直接用标准WebService接口调用,或者提供方用标准WebService暴露服务,消费方用Dubbo的WebService协议调用。

        基于WebService的远程调用协议。

        连接个数:多连接

        连接方式:短连接

        传输协议:HTTP

        传输方式:同步传输

        序列化:SOAP文本序列化

        适用场景:系统集成,跨语言调用。

        参数及返回值需实现Serializable接口

        参数尽量使用基本类型和POJO。


        

        默认:

        推荐:

        

                 dubbo

                 com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet

                 1

        


        

                 dubbo

                 /*

        


        协议的端口必须与servlet容器的端口相同,

        协议的上下文路径必须与servlet应用的上下文路径相同。


        WSDL:


        http://10.20.153.10:8080/com.foo.HelloWorld?wsdl


thrift://


        Thrift是Facebook捐给Apache的一个RPC框架,参见:http://thrift.apache.org

        当前 dubbo 支持的 thrift 协议是对 thrift 原生协议的扩展,在原生协议的基础上添加了一些额外的头信息,比如service name,magic number等。使用dubbo thrift协议同样需要使用thrift的idl compiler编译生成相应的java代码,后续版本中会在这方面做一些增强。

        org.apache.thrift:libthrift:0.8.0

        

       null值 (不能在协议中传递null值)


memcached://


        Memcached是一个高效的KV缓存服务器,参见:http://memcached.org/

        

        方法名建议和memcached的标准方法名相同,即:get(key), set(key, value), delete(key)


redis://


        Redis是一个高效的KV存储服务器,参见:http://redis.io

        

        方法名建议和redis的标准方法名相同,即:get(key), set(key, value), delete(key)


Java相关视频锦集

返回顶部