对于分库分表的情况,一般开辟人员都会使用一些数据库中间件来降低sql操纵的复杂性。如,对于sql:insert into user (id,name) values (1,"张三"),(2,"李四")。这条sql是操纵单库的语法,单库情况下,可以包管事件的一致性。但是由于现在进行了分库分表,开辟人员希望将1号记录插入分库1,2号记录插入分库2。所以数据库中间件要将其改写为2条sql,分别插入两个不同的分库,此时要包管两个库要不都成功,要不都失败,因此根本上全部的数据库中间件都面对着分布式事件的问题。
1.3: 微服务架构