zoukankan      html  css  js  c++  java
  • dubbo hessian+dubbo协议

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

    Hessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用Servlet暴露服务。适用场景:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。因此比较高效的做法是带上传下载文件的服务使用hessian协议,去普通的服务使用dubbo协议。

    做法如下

    1、搭建zookeeper(略)

    2、搭建dubbo-admin(略)

    以上两步请参考官方文档,非常详细

    3、生产者工程的spring配置

       <dubbo:application name="testinfo" />
       <dubbo:registry address="zookeeper://192.168.0.228:2181" />
       <dubbo:protocol name="dubbo" port="20880" /> 
       <dubbo:protocol name="hessian" port="8080"  contextpath="testinfo" server="servlet" />
       <dubbo:provider protocol="hessian" />
       <dubbo:service interface="com.yhi.hiwl.api.baseinfo.UploadService" ref="uploadService" protocol="hessian"/>
       <dubbo:service interface="com.yhi.hiwl.api.baseinfo.LoginService" ref="loginService" protocol="dubbo"/>

    3、生产者工程的web.xml配置

    <servlet>  
            <servlet-name>dubbo</servlet-name>  
            <servlet-class>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class>  
            <load-on-startup>1</load-on-startup>  
        </servlet>  
        <servlet-mapping>  
            <servlet-name>dubbo</servlet-name>  
            <url-pattern>/*</url-pattern>  
        </servlet-mapping> 

    4、消费者工程spring配置

    <dubbo:reference id="uploadService"  interface="com.yhi.hiwl.api.baseinfo.UploadService" timeout="4000"/> 

    <dubbo:reference id="loginService"  interface="com.yhi.hiwl.api.baseinfo.LoginService" timeout="4000"/> 

    这样uploadService里抛出的服务就会以hessian方式用http抛出,可以传输大文件,而loginService服务就使用dubbo协议能够高效的传输json、html等等

  • 相关阅读:
    多层级makefile
    vscode常用快捷键
    unix socket接口
    以太网复习
    shell脚本算术运算
    1185: 零起点学算法92——单词数(C)
    1183: 零起点学算法90——海选女主角(C语言)
    1181: 零起点学算法88——偶数求和(C语言)
    1144: 零起点学算法51——数组中删数(C语言)
    列主元消去法&全主元消去法——Java实现
  • 原文地址:https://www.cnblogs.com/jtlgb/p/8602830.html
Copyright © 2011-2022 走看看