服务化意义
一、服务化之前的架构
首先,用户请求到达 负载均衡服务器上,即nginx 集群。对于高并发应用采用 Lvs 加 nginx 负载均衡架构方式,nginx 根据负载均衡算法,均衡的将请求打在了应用机上。当应用发展到一定阶段,请求速度逐渐增加,我们通过增加服务器数量,进行应用的横向拓展
未服务化之前的痛点
1、痛点1:代码拷贝;
业务逻辑相似:用户登录,图片上传,消息推送,数据访问的代码
2、痛点2:复杂度扩散
随并发量增高,缓存和数据库复杂度增高;
数据库要水平拆分
3、痛点3: jar 包复用的耦合
库的版本升级
4、痛点4: 代码质量互相影响;
痛点N: 1、数据库耦合; 2、部署效率低,3、后期维护迭代开发难度法;3、线上系统可用性风险高
二、服务化之后的高可用架构
2.1、服务化的好处
1、代码复用,减少拷贝
2、专注性,收敛复杂性
3、代码质量保证
4、数据库解耦
5、其他好处
调用简单,性能优化、容易部署、故障隔离
三、RPC 和 服务化之间的关系
RPC 是服务化架构中,关于服务间通信的解决方案;