hessian

史上最强Dubbo面试25题含答案详解:核心组件+架构设计+服务治理等

元气小坏坏 提交于 2019-12-06 12:33:19
1.Dubbo是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 RPC 指的是远程调用协议,也就是说两个服务器交互数据。 2.Dubbo的由来? 互联网的快速发展,Web应用程序的规模不断扩大,一般会经历如下四个发展阶段。 单一应用架构:当网站流量很小时,只需一个应用,将所有功能都部署在一起即可。 垂直应用架构:当访问量逐渐增大,单一应用按照有业务线拆成多个应用,以提升效率。 分布式服务架构 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。 此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。 流动计算架构 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。 此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。 3.Dubbo的主要应用场景? 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。 软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。 服务自动注册与发现,不再需要写死服务提供方地址

几种通讯协议的比较RMI,Httpinvoker,Hessian,Burlap,webservice

元气小坏坏 提交于 2019-12-06 04:17:03
一、综述 本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。Web service是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。 测试结果显示,几种协议的通讯效率依次为: RMI > Httpinvoker >= Hessian >> Burlap >> web service RMI不愧是JAVA的首选远程调用协议,非常高效稳定,特别是在大数据量的情况下,与其他通讯协议的差距尤为明显。HttpInvoker使用java的序列化技术传输对象,与RMI在本质上是一致的。从效率上看,两者也相差无几,HttpInvoker与RMI的传输时间基本持平。Hessian在传输少量对象时,比RMI还要快速高效

java.io.IOException: Server returned HTTP response

点点圈 提交于 2019-12-05 22:57:39
java.io.IOException: Server returned HTTP response code: 500 for URL: http://physics.whu.edu.cn/show.asp?id=278 java.io.IOException: Server returned HTTP response code: 403 for URL 但是自己却可以用浏览器访问,发现可能是服务器对我们这种java程序屏蔽了。 因为服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent url = new URL(" http://physics.whu.edu.cn/show.asp?id=278 "); HttpURLConnection connection = (HttpURLConnection) url. openConnection(); connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); 这样就可以访问了。 Exception in thread "main" com.caucho.hessian.client.HessianConnectionException:

未注意Curl-library Post 1024以上字节时的HTTP/1.1特性导致 Hes...

青春壹個敷衍的年華 提交于 2019-12-05 19:08:34
先列出 HessianPHP 的错误提示: CURL transport error: transfer closed with outstanding read data remaining 基础知识背景: 1)“Expect: 100-continue”的来龙去脉: HTTP/1.1 协议里设计 100 (Continue) HTTP 状态码的的目的是,在客户端发送 Request Message 之前,HTTP/1.1 协议允许客户端先判定服务器是否愿意接受客户端发来的消息主体(基于 Request Headers)。 即, Client 和 Server 在 Post (较大)数据之前,允许双方“握手”,如果匹配上了,Client 才开始发送(较大)数据 。 这么做的原因是,如果客户端直接发送请求数据,但是服务器又将该请求拒绝的话,这种行为将带来很大的资源开销。 协议对 HTTP/1.1 clients 的要求是: 如果 client 预期等待“100-continue”的应答,那么它发的请求必须包含一个 " Expect: 100-continue" 的头域! 2)libcurl 发送大于1024字节数据时启用“Expect:100-continue‘特性: 这也就是 Laruence 在 2011 年撰文所写的: 在使用 curl 做 POST 的时候,当要 POST

Hessian通信协议学习

寵の児 提交于 2019-12-05 19:08:11
###什么是Hessian   Hessian 是由 caucho 提供的一种开源的远程通讯协议。 采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用另开放防火墙端口。 协议的规范是 公开 的,可以用于 任意 语言。 采用客户机/服务器模式(C/S)。 请求程序就是一个客户机,而服务提供程序就是一个服务器。 客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。 在服务器端,进程保持睡眠状态直到调用信息的到达为止。 当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息, 获得进程结果,然后调用执行继续进行。 ###Hessian协议工作流程图   ***客户端程序请求服务端函数 ***   1.调用客户端句柄,执行传送参数。   2.调用本地系统内核发送网络消息。   3.消息传送到远程主机。   4.服务器句柄得到消息并取得参数。   5.执行远程过程。 ***服务端函数返回结果给客户端 ***   1.执行的过程将结果返回服务器句柄。   2.服务器句柄返回结果,调用远程系统内核。   3.消息传回本地主机。   4.客户句柄由内核接收消息。   5.客户接收句柄返回的数据。 ###Hessian的优、缺点 优点   1.目前的WEB端基本上都支持hessian

HessianConnectionException: (HTTP) 500 error when using Hessian 4.0.7 & Spring 3.1.1

99封情书 提交于 2019-12-05 18:47:58
Ok, can't figure this one out at all! I'm using Spring 3.1.1 and Hessian 4.0.7 deploying into Tomcat 6.0.29 I've created a simple Hessian remote interface but my test keeps failing with; Exception in thread "main" com.caucho.hessian.client.HessianConnectionException: 500: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/client/remote/RemoteService at com.caucho.hessian.client.HessianURLConnection.sendRequest(HessianURLConnection.java:142) at com.caucho.hessian.client.HessianProxy.sendRequest(HessianProxy.java:283) at com.caucho.hessian.client

writing hessian service

假装没事ソ 提交于 2019-12-05 17:01:52
I am new to Spring and Hessian and never used them before. I want to write a small Hello World Program which clearly shows how this service works. I am using Maven for list project details and dependencies. The resources for hessian available online are not complete step-by-step guide. would appreciate if I get help form someone who has worked writing hessian services The steps for implementing a Hessian-callable service are: Create a Java interface defining methods to be called by clients. Write a Java class implementing this interface. Configure a servlet to handle HTTP Hessian service

RMI、Hessian、Burlap、Httpinvoker、WebService的比较

╄→гoц情女王★ 提交于 2019-12-05 08:23:52
一、综述 本文比较了RMI、Hessian、Burlap、Httpinvoker、WebService5这种通讯协议的在不同的数据结构和不同数据量时的传输性能。 RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。 Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。 Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。 Web service是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。 测试结果显示,几种协议的通讯效率依次为: RMI > Httpinvoker >= Hessian >> Burlap>> web service RMI不愧是JAVA的首选远程调用协议,非常高效稳定,特别是在大数据量的情况下,与其他通讯协议的差距尤为明显。 HttpInvoker使用java的序列化技术传输对象,与RMI在本质上是一致的。从效率上看,两者也相差无几,HttpInvoker与RMI的传输时间基本持平。 Hessian在传输少量对象时,比RMI还要快速高效

RMI、Hessian、Burlap、Httpinvoker、WebService的比较

喜你入骨 提交于 2019-12-05 08:23:38
一、综述 本文比较了RMI、Hessian、Burlap、Httpinvoker、WebService5这种通讯协议的在不同的数据结构和不同数据量时的传输性能。 RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。 Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。 Httpinvoker是SpringFramework提供的远程通讯协议,只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。 Web service是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。 测试结果显示,几种协议的通讯效率依次为: RMI > Httpinvoker >= Hessian >> Burlap>> web service RMI不愧是JAVA的首选远程调用协议,非常高效稳定,特别是在大数据量的情况下,与其他通讯协议的差距尤为明显。 HttpInvoker使用java的序列化技术传输对象,与RMI在本质上是一致的。从效率上看,两者也相差无几,HttpInvoker与RMI的传输时间基本持平。 Hessian在传输少量对象时,比RMI还要快速高效

hessian入门,Hello和文件上传范例,C#客户端+Java Tomcat后台

和自甴很熟 提交于 2019-12-05 02:05:30
1.包含Hello范例和文件上传范例 2.Hello范例 1)后台--定义Java接口: package org.migle.hessian; public interface Hello { public String sayHello(String smt); public void printHello(String smt); } 2)后台--实现Java接口: package org.migle.hessian.impl; import org.migle.hessian.Hello; public class HelloImpl implements Hello { public String sayHello(String smt) { return smt != null ? "hello " + smt : "hello hessian"; } public void printHello(String smt) { System.out.println("Hello " + smt); } } 3)后台--配置 Tomcat/HessianServer/WEB-INF/web.xml,前提条件是lib下包含hessian-4.0.7.jar: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="