如何解决构建基于消息队列的集成
我们当前的旧系统是本地系统。我们正计划将应用程序迁移到云中,这是一个长期目标,但在此期间,我们需要将此旧系统与基于云的应用程序集成。
我们的目标:设计一个集成,使我们的旧系统能够与新的基于云的应用程序进行通信。
我们的计划:我们将使用消息传递队列来实现旧系统与云之间的松散耦合通信。
我们将在旧系统上有一个消息代理实例,在云上有一个。我们最终将最终在云上使用几个不同的应用程序,所有这些应用程序都将与旧系统通信,而与我们在云上的其他应用程序分离。
实现此目标的最佳方法是什么?
我们:
- 我们是否已将每个云应用“连接”到云上的单个代理并以发布/订阅方式接收消息?
- 为每个云应用程序设置专用队列,并让我们的云应用程序直接从队列中读取这些消息。
我了解到我的问题与系统设计有关,但是我希望它也足够具体。任何意见或反馈都将受到欢迎。
解决方法
我强烈建议您退后一步,对体系结构进行战略设计,然后再做出技术基础架构决策:
- 业务:确定旧应用程序和新的Cloud应用程序中不同的子域(“组件”)及其相对重要性:核心,支持,通用。因此,您将优先考虑应从旧版迁移的内容。
- 团队:如果您管理多个团队(您可能是传统团队还是云团队?),请确保团队与子域(Inverse Conway Maneuver)保持一致,从而最大程度地减少协作摩擦。 li>
- 耦合:定义不同子域之间的关系:谁是上游,下游,什么是接口合同?
在您开始考虑基于“技术要求”(同步,异步等)来连接组件的“管道”和不同的基础结构选项时,在异步连接的情况下,通过消息返回最初的问题:队列经纪人与否?
这些幻灯片更深入地解释了:Visualizing sociotechnical architectures with Context Maps。
如果这种架构方法引起您的共鸣,请查看Domain-Driven Design Starter Modelling Process,其中包含更多详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。