![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
转载
文章平均质量分 92
yanglinlin
这个作者很懒,什么都没留下…
展开
-
Twitter的分布式自增ID算法Snowflake
在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位 机器ID 10位 毫秒内序列12位。 10---0000000000 0000000000 0000000000 0000000000 0 --- 00000 ---00000 ---000000000000...原创 2016-01-21 21:00:43 · 98 阅读 · 0 评论 -
基于反射机制的服务代理调用
实现原理:通过传递服务bean的名称、执行的方法及参数,通过反射机制进行调用返回。优点:只需对外提供一个接口服务即可,只要容器中操作服务bean,通过接口即可调用,增加服务bean无需增加对外接口。代码如下:接口类 [java] view plain copy print?public interface ProxyService { ...原创 2016-02-01 11:51:30 · 96 阅读 · 0 评论 -
Hessian源码分析和Hack --让Hessian携带远程调用端的信息(上)
项目选定Hessian作为web service的实现方式,确实很轻量级,速度就跟直接用socket差不多,全是二进制传送节约了不少开销。但是在使用过程中有业务需要是必须获得远程端的ip地址,主机名等信息的。翻便Hessian的文档和google了n次未果,迫不得已到caucho和spring论坛去问,都没有得到答复。今天心一横把hessian的源代码加入到项目中单步跟踪,总算有点小收获。献丑...原创 2016-02-01 14:17:26 · 225 阅读 · 0 评论 -
Hessian源码分析和Hack --让Hessian携带远程调用端的信息(下)
接着说Spring包装过的Hessian怎么来Hack。 刚开始我以为只要改了hessian的源码,就可以了。其实不然,因为Spring通过了几层包装,让你不能得不到request对象。 Spring里边hessian的入口是HessianServiceExporter这个类,主要方法有两个 Java代码 public void prepare() { H...原创 2016-02-01 14:25:16 · 176 阅读 · 0 评论 -
Spring HTTP invoker RPC
Spring HTTP invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,这有点类似于webservice,但又不同于webservice,区别如下:webserviceHTTP invoker跨平...原创 2016-02-01 15:01:56 · 125 阅读 · 0 评论