分布式系统架构
文章平均质量分 90
yanglinlin
这个作者很懒,什么都没留下…
展开
-
hessian 500 read time out问题
昨天,提交了一个订单撤销发送短信的需求。QA的同事在测试该问题的时候,发现原来的代客下单给用户发送短信的功能也不好用。最后通过追踪QA服务器上的日志文件,发现日志中并没有找到要发送短信人的信息。 这个问题,我同时在DEV的环境上进行了复测。令人意想不到的是DEV环境的数据竟然可以返回。这就让我觉得很诧异。同样的代码为什么会有不一样的数据返回呢? ...原创 2016-06-13 11:03:39 · 703 阅读 · 0 评论 -
分布式缓存ignite与其他缓存特效比较
如下内容摘自于:http://www.infoq.com/cn/articles/apache-ignite-explorer 在Ignite以前,大规模、大数据量、高并发企业级或者互联网应用为了解决数据缓存、降低数据库负载、提高查询性能等突出问题,很多采用了Hazelcast或者Oracle Coherence或者GemFire(比如12306网站)或者目前应用越来越广泛的Redis等缓...原创 2015-11-25 18:04:15 · 992 阅读 · 0 评论 -
RPC原理实现剖析
最近对RPC的一些实现原理,以及一些RPC框架比较感兴趣。所以,抽时间想研究一下RPC中涉及到的一些技术实现,通讯、序列化和反序列化、动态代理、通讯协议(消息的编解码)。 在一个针对阿里找招聘的群里,发现一些阿里的技术文档 ,故下载下来查看了一下。一种有一位大牛正好讲到了RPC调用的一些实现原理或者涉及到的技术。本人是做java开发的,这位大牛也是基于java的角度来做...原创 2016-02-01 10:58:15 · 100 阅读 · 0 评论 -
基于反射机制的服务代理调用
实现原理:通过传递服务bean的名称、执行的方法及参数,通过反射机制进行调用返回。优点:只需对外提供一个接口服务即可,只要容器中操作服务bean,通过接口即可调用,增加服务bean无需增加对外接口。代码如下:接口类 [java] view plain copy print?public interface ProxyService { ...原创 2016-02-01 11:51:30 · 109 阅读 · 0 评论 -
Hessian源码分析和Hack --让Hessian携带远程调用端的信息(上)
项目选定Hessian作为web service的实现方式,确实很轻量级,速度就跟直接用socket差不多,全是二进制传送节约了不少开销。但是在使用过程中有业务需要是必须获得远程端的ip地址,主机名等信息的。翻便Hessian的文档和google了n次未果,迫不得已到caucho和spring论坛去问,都没有得到答复。今天心一横把hessian的源代码加入到项目中单步跟踪,总算有点小收获。献丑...原创 2016-02-01 14:17:26 · 239 阅读 · 0 评论 -
Hessian源码分析和Hack --让Hessian携带远程调用端的信息(下)
接着说Spring包装过的Hessian怎么来Hack。 刚开始我以为只要改了hessian的源码,就可以了。其实不然,因为Spring通过了几层包装,让你不能得不到request对象。 Spring里边hessian的入口是HessianServiceExporter这个类,主要方法有两个 Java代码 public void prepare() { H...原创 2016-02-01 14:25:16 · 188 阅读 · 0 评论 -
Spring HTTP invoker RPC
Spring HTTP invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,这有点类似于webservice,但又不同于webservice,区别如下:webserviceHTTP invoker跨平...原创 2016-02-01 15:01:56 · 135 阅读 · 0 评论