文章目录
引言
通过前面章节的学习,你的团队已经决定对垂直电商系统做服务化拆分,以便解决扩展性和研发成本高的问题。与此同时,你们在不断学习的过程中还发现,系统做了服务化拆分之后,会引入一些新的问题,这些问题我在上节课提到过,归纳起来主要是两点:
- 服务拆分单独部署后,引入的服务跨网络通信的问题;
- 在拆分成多个小服务之后,服务如何治理的问题。
如果想要解决这两方面问题,你需要了解,微服务化所需要的中间件的基本原理,和使用技巧,那么本节课我会带你掌握并解决第一点问题的核心组件:RPC 框架。来思考这样一个场景:你的垂直电商系统的 QPS 已经达到了每秒 2 万次,在做了服务化拆分之后,由于我们把业务逻辑,都拆分到了单独部署的服务中,那么假设你在完成一次完整的请求时,需要调用 4~5 次服务,计算下来,RPC 服务需要承载大概每秒 10 万次的请求。那么,你该如何设计 RPC 框架,来承载如此大的请求量呢?你要做的是:
- 选择合适的网络模型,有针对性地调整网络参数,以优化网络传输性能;
- 选择合适的序列化方式,以提升封包、