应用拆分,数据库,及事务问题
来源:13-2 应用拆分思路-2
![](http://img1.sycdn.imooc.com/user/54584dc4000118d302200220-100-100.jpg)
梨多情
2020-04-14
老师,您好!
请教下:
在微服务应用拆分时,通常会将一个大应用拆分为多个模块,每个模块即子应用。
问题1、什么时候子应用单独用一个数据库?什么时候用公共的数据库?
问题2、能举例说明吗?
问题3、若按上面拆分,那么很容易出现在一个 Java 方法中,对数据库的操作,是跨库操作,
而且这种情况非常多,本地事务似乎不够用,需要用到分布式事务,
很难做到老师您说的不用分布式事务。
我上面说的对吗?
如果是老师您,会怎么做?
问题4、有了分布式事务,本地操作数据库时,还需要添加本地事务吗?
本来分布式事务就耗资源,如果添加本地事务,不是更耗资源了吗?
可以的话,希望能逐个问题解答,谢谢老师!
写回答
4回答
-
1、单独的模块,比如订单、产品这种直接就可以,当然这取决于业务量和请求量,小的话其实没必要。实际中你保证单表操作的话,后面即使要按表拆多个库,也会很容易
012020-04-15 -
Jimin
2020-04-14
4、你这个问题本身就有问题,你先具体了解一下分布式事务原理吧
022020-04-16 -
Jimin
2020-04-14
3、实际中很少使用分布式事务的,我们会借助补偿手段及消息等来保证最终一致性
00 -
Jimin
2020-04-14
2、参考1的例子
00
相似问题