唠叨
GitHub 地址: https://github.com/stateIs0/Lu-Rpc
最近一直在开发一个 mini rpc 系统,支持一些 rpc 常见的功能,例如客户端负载均衡,故障转移,熔断,自适应限流,多通道流量分配,动态配置等等。
不过也总算是开发完了,目前已经在线上跑起来了。
好了,总算有点点时间来维护一下我的 Lu-Rpc 了。说实话,在开发那个项目的期间,还是有很多思考的,一些平时自己看源码不重视的地方,在真正写代码的时候,需要考虑的有很多。
例如领域模型的生命周期管理,日志格式,异常处理,配置管理,等等这些“杂事”吧,请允许我称之为杂事。在框架开发中,我们似乎更关注核心功能的实现,但是这些打杂的活也是必不可少的。例如生命周期的管理,如果没有管理好系统资源,当应用关闭后,还有很多资源无法释放,日志就更不用说了,日志里要包含上下文信息,参数,结果,异常类型,环境信息,最好包含 ip,port , JDK version,系统 load,等等。配置呢?当然也是重要的,这次我参照 hystrix 的配置写另一个简单的动态配置,可以灵活管理框架里配置。
好了,唠叨了这么多,主要还是讲一些自己在这次将近一个的框架开发中的心得吧,写了大概 1 万行代码,一个人。时间比较紧,junit test case 写的不多&#x