c# - 模块化单体架构带来 MSDTC 问题
问题描述
我正在努力将用 .net/c# 编写的大型 spagetti-syle 系统分解成更小的部分。第一步是将应用程序分解为组件(使用自己的存储的单独项目中的 c# 类),每个组件都在自己的数据库上工作,或者至少在 MS SQL Server 2016 数据库中自己的架构上工作。每个组件都使用自己的连接字符串(不同的用户名)。
当一个组件调用另一个组件时(例如,发票组件需要向仓库组件询问一些数据),我们会立即升级到 MSDTC,这是我试图避免的。我认为问题在于多个连接字符串(事务范围抑制没有帮助)。但是我希望组件使用不同的连接字符串,并且我认为其他组件不应该知道其他组件正在使用什么连接字符串/数据库等。
有没有办法让组件具有不同的连接字符串而不升级到 MSDTC?我想要实现的主要目标是模块之间的关注点分离..
编辑:我不想做跨组件交易。在这种情况下我不需要交易。
解决方案
推荐阅读
- c - C程序中的struct和union如何分配内存?
- oauth-2.0 - 在 vaadin 应用程序中集成 shiro 和 oAuth2 模块
- serial-port - 如何在 GT-521F32 指纹扫描仪中设置模板?
- python - Python:在拟合模型上绘制残差
- c++ - Microsoft VC++、vsnprintf 和 Pipes (IO) 错误
- android - 在 Android Studio 布局中看不到或编辑组件
- python - 内核死了重新启动 spyder 和 PyQt5
- angular - 如何让 cognito 重定向以使用 Angular V6
- android - 如何在启动画面活动和其他活动之间居中相同的资产/可绘制对象?
- r - 按组添加每个缺失年份的缺失行并在给定条件下添加更多行直到当前日期年份