java面试题

吐槽公司自研RPC框架

2019-10-06  本文已影响0人  无醉_1866

2019年7月底入职了新的公司,是一家创业公司,在架构组负责一些架构方面的工作。公司人员流动略大,公司自研的RPC框架是前人留下的坑,开发团队已全部跑路,因为最近也是第一次接触,写一下自己的吐槽与思考

吐槽点

微服务框架为什么要自研

我觉得没理由,目前开源成熟的服务框架非常多,具有代表性的:

成熟的开源产品完全能满足一般创业公司的使用,因此,对于现公司,我觉得完全没有理由自研一套

自研却缺少文档

自研也就算了,没有任何使用说明文档,入门时一脸懵逼,加上开发团队全部跑路,只能向使用过的同学学习如何使用

自研的非常差

自研就自研,但是能不能做好一点呢?从该rpc报出的异常栈以及调用方式就能看出其实现非常粗糙丑陋,毫无优雅性可言

这里先说一说微服务框架的几个考虑点,自底向上分别是:

但该rpc完全没有考虑上述问题,或者说考虑的非常之少,该rpc的相关情况:

String jsonResult = RemoteClientUtil.callRpc(”appName.serviceName“, JSON.toJsonString(params));
Result result = JSON.parseObject(jsonResult, Result.class);

毫无扩展性

该自研的rpc框架非常不完善,并且很难与已有的开源项目结合,对于流程管控、服务治理的需求,该rpc框架难以满足
如果要重构,那基本上是重写,目前大量系统在使用,涉及到的系统改造非常大,基本上不现实

总结

对于这样的rpc框架,如果只论技术,它做的非常差,在rpc框架中,它就是demo级别的存在,不有参考价值。
当然,你可以说小公司不需要dubbo,不需要spring-cloud,但是我不这样认为,我认为我们当前对spring-cloud中的组件还是有需求的,但是该rpc没有考虑如何融入到成熟的微服务体系,抬高了我们使用这些成熟组件的门槛

虽然我没有自研过rpc框架,但见到该rpc框架后也要吸取教训,自研基础组件一定要考虑周全,尽量避免与应用共享资源,需要考虑扩展性

最后建议优先选择开源体系作为微服务架构的基础,如果有不满足公司特定需求的可基于开源组件改造

上一篇 下一篇

猜你喜欢

热点阅读