1. 服务化之前的痛点
在服务化之前,高可以的(简化版)架构大致如下:
但是上边的架构其实会有一些难以解决的痛点:
-
痛点1:代码到处拷贝
所有的产品都要写彼此的DAO
-
痛点2:复杂度扩散
现在上边所有的业务都要关注缓存,然后再发展的话,就会有下面分库分表等情况的出现:
-
痛点3:jar包复用的耦合
以上的情况,在某一个产品的core.jar有升级的时候,会影响到其他产品,可能会导致其他的产品需要进行调整或者同样要升级。这样就使其他的产品做了额外的工作。
-
痛点4:代码质量互相影响
-
痛点N:其他
2. 服务化之后的好处
服务化之后的高可用架构大致如下:
其好处有以下几点:
-
好处1:代码复用,减少拷贝
-
好处2:专注性,收敛复杂度
-
好处3:代码质量有保障
-
好处4:数据库解耦
-
好处N:其他
3. RPC和服务化之间的关系
RPC是服务化架构中,关于服务间通信的一种解决方案。
RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。
3.1 RPC简单介绍
4. 服务化的适用场景
- 单体应用已经无法满足业务需求时
- 业务和团队成员已经初具规模时
- 服务化收益远大于服务化成本
- 可预见未来,产品要加速发展
如果觉得有收获,欢迎点赞和评论,更多知识,请点击关注查看我的主页信息哦~