课程名称:多端全栈项目实战:商业级代驾全流程落地
课程章节:第2章 什么是微服务架构?(一)(二)
第2章 分布式事务
主讲老师:神思者
课程内容:
主要讲了介绍了微服务的原由,优势,微服务和RPC远程调用的区别,课程使用的Spring Cloud的版本,服务间的调用。
课程收获:
了解到微服务架构是将一个应用程序拆分成若干个小型服务的方法,每个服务都是独立的,可以相互调用,采用轻量的http协议来相互通信。
微服务优势:简而言之好改bug,适合业务量大的项目,而且服务间相互通信,A服务可以用java开发,B服务可以用Python开发。
微服务和RPC远程调用的区别:
RPC是独立系统的一种,不注重事务的一致性,且每个项目都有独立的数据库,那么就没办法组成全局的分布式事务。
微服务就注重事务的一致性,它原本就是一个系统,拆分成多个模块。模块间相互调用,就有分布式事务。
因为现在SpringCloud很多中间件产品停止维护,现在就用Alibaba SpringCoud架构。
- 服务间的调用
首先我们要在Nacos注册服务,服务A才能拿到服务B的ip地址和端口号。
而且即便某个服务宕机了,Nacos会从可用的服务给“顶”上去。 - 远程调用微服务
Alibaba SpringCoud架构,服务间采用Feign技术。
分布式事务:课程使用TX-LCN分布式事务
TX-LCN分布式事务和Seata分布式事务优缺点:
TX-LCN分布式事务
- 优点:
- LCN是采取代理数据源的模式,根据发起方执行本地事务的结果进行回滚或提交,保持了数据的一致性。
- 缺点:
- 可能会发生锁死的现象。
Seata分布式事务
- 优点:
- 根据undo_log日志表逆向生成sql,解决回滚,保证最终的一致性。
- 缺点:
- 可能造成脏读。
热门评论
可以一起学习吗