通常微服务需要独立部署数据库,但如果直接使用分布式数据库TiDB作为微服务的数据库,需要独立部署吗?

通常微服务需要独立部署数据库,但独立数据库实现跨库的事务一致性比较麻烦;但如果直接使用分布式数据库TiDB作为微服务的数据库(且不用考虑数据库异构的需求),那么TiDB需要独立部署吗?可不可以把整个TiDB集群提供给所有微服务使用呢?

我们这边的实践是根据微服务将业务和分析拆分为两个TiDB集群,分别是业务集群和分析集群,每个集群对应多个微服务。如果非要和微服务对应,可以在集群中创建对应数据库。
其实,在硬件足够的情况下,可以只部署一套TiDB集群,毕竟TiDB是支持OLTP和OLAP的。我们实践拆分成两个集群,主要是怕数据分析争夺资源,影响业务。

谢谢解答哈,那其实比如使用Spring Cloud Alibaba来搭建微服务,其实不需要 Seata 组件 解决 分布式事务一致性问题,直接用分布式数据库TiDB就可以了吧;用了TiDB就不需要考虑分布式事务一致性问题

搭建一套集群的时候,可以不考虑分布式事务一致。但是如果微服务对应多套集群时,我们实践是采用MQ实现柔性事务保证事务一致性,这个是业务上的事务一致性。

嗯,好的

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。