今日浏览-Seata & JustAuth

Seata

今日了解到阿里开源的分布式事务框架——seata,我觉得大脑设计真的才是王道,之前一直没有TC的概念。 记得以前做的就是一个Rollback表来做TCC,而没有想到使用一个TC Server实现。

seata.io/zh-cn/index…

Seata支持微服务框架,支持AT、TCC、SAGA。

TC:事务协调者,维护全局和分支事务的状态,驱动全局事务提交或回滚。 集中式管理的一个实现,本身就是从事务外延而来,放大了事务的实现。

TM:事务管理器。定义全局事务的范围:开始全局事务、提交或回滚全局事务。 发起方。

RM:资源管理器。管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。 需要注册到TC上以实现被全局管理。

悬挂问题:占用了资源,而没有释放。

AT模式:两阶段提交协议演变,回滚日志用于反向补偿,提交: SELECT FOR UPDATE。

示例:github.com/seata/seata…

Saga模式是SEATA提供的长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务都由业务开发实现。

Metris。

部署:支持单点、HA、Docker、K8s、Helm方式。

本质上是对事务的一个升级,将单个事务,变成多个事务,还实现了多个框架的集成,Template模式。

Spring Cloud中使用:github.com/seata/seata…

  • 添加依赖
  • 配置
  • 数据源
  • un_do_log表
  • 集群内部署seata-server
  • 使用@GlobalTransactional开启全局事务。

JustAuth

JustAuth,如你所见,它仅仅是一个第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy!

可以阅读源码,深入了解授权码模式,也可以集成更多登录。

其目标是对接更多的登录,让授权码模式更加容易。

这个很之前想做一个通用API对接的一个道理。

猜你喜欢

转载自juejin.im/post/5dff847a51882512290f2fc0