严格来说微服务属于RPC的一种,但是广义上的RPC指的是项目之间的调用。例如校园网系统中的各个系统就是用RPC调用的,所以RPC指的是项目之间的调用。RPC是把单体项目做了粗粒度的拆分,而微服务把单体项目拆分的更零碎。
因为RPC是独立系统之间的调用,所以不太注重事务的一致性。毕竟独立系统各自使用的数据库也不同,没办法组成全局的分布式事务。而微服务更注重分布式事务,微服务原本是一个系统,拆分出来的各个模块,所以模块之间应该有分布式事务。比如支付模块和代金券模块就应该被纳入到全局事务中。否则我们支付失败,但是代金券却使用成功了。按理说应该一起回滚,是吧。
本文探讨了微服务与远程过程调用(RPC)的区别与联系。分析了两者在系统拆分粒度、分布式事务处理等方面的差异,并强调了微服务在保持模块间一致性方面的优势。

745

被折叠的 条评论
为什么被折叠?



