rpc netty kryo
背景:
目前市面上的RPC框架很多,然后真正适用于自己公司的却不多,大部分框架为追求功能上的完整性而牺牲了
易用性。如很多框架支持跨语言,然后在每个公司内部后台技术中往往使用的是同一种语言。为了支持跨语言,各类
框架技术不得不定义自己的通信协议,维护大量复杂的接口定义文件是非常令开发人员头疼的事情。再如通信加密模块,
实际上在一个公司内部的各个系统中,基本上是用不着加密的。SSL加密一般只用于为外部系统提供接口的场景下。
这些功能使得框架变得非常大而复杂,学习成本也非常高。
目标:
.深入介绍RPC框架原理
.实现一个简单高效RPC框架(RpcLite)
.让开发者深入理解RPC框架,并可通过简单改造本文对应项目RpcLite,达到构造适用于自己项目的RPC框架
ROAD MAP
优点:
. 轻量级(代码量少,依赖的jar少),纯java实现,学习成本非常低。
. 支持java异常
. 人性化的接口定义(不需要写晦涩的IDL文件)
. 简洁的配置
缺点:
. 不能跨语言
optional:
. 目前采用的是java原生序列化方式,可以在将来换成更加高效的序列化方式
. 为框架添加health check模块
. 为框架添加SSL加密模块
. 为框架添加IP黑名单,白名单功能