分布式系统的服务间调用和数据同步方式的优缺点
http调用接口
优点:
开发简单,耦合低
直接返回其他服务的处理结果
缺点:
依赖性强,
被调用服务如果宕机问题:
需要有防止数据丢失等处理逻辑,分布式事务问题(当然简单场景也可以直接返回失败)
要处理好超时时间,或者熔断策略,处理不好会导致本服务的cpu内存资源的大幅度飙升,最终导致服务崩溃。
spring cloud等RPC框架
优点:
目前微服务框架应用较多
配置中心降低运维成本
缺点:
耦合性仍然不低
接口定义包引入,版本管理麻烦
和k8s的部分管理功能有重合
发kafka,其他服务消费
优点:
耦合性低
吞吐量大
可以一对多服务数据交互
数据可以保证不丢失(但可能重复)
缺点:
异步,返回处理结果要通过其他方式
存mysql等数据库共享
存redis共享
有疑问加w,dreamingmymoon