构建基于消息队列的集成



我们当前的遗留系统是内部部署的。我们计划将我们的应用程序迁移到云上,这是一个长期目标,但在此期间,我们需要将这个遗留系统与我们基于云的应用程序集成。

我们的目标:设计一个集成,使我们的遗留系统能够与我们新的基于云的应用程序通信。

我们的计划:我们将使用消息队列来实现遗留系统和云之间的松散耦合通信。

我们将在遗留系统上有一个消息代理实例,在云上有另一个。我们最终将在云上使用几个不同的应用程序,所有这些应用程序都将与遗留系统通信,但与云上的其他应用程序解耦。

实现这一目标的最佳方式是什么

我们:

  1. 让我们的每个云应用程序"连接";到我们的云上单一经纪人,并以pub/sub方式接收消息
  2. 为我们的每个云应用程序设置专用队列,并让我们的云应用程序直接从队列中读取这些消息

我知道我的问题有点高,因为它与系统设计有关,但同时我希望它也足够具体。欢迎任何意见或反馈。

我强烈建议您在做出技术基础设施决策之前退一步,制定架构战略:

  1. 业务:识别遗留应用程序和新云应用程序的不同子域("组件"(及其相对重要性:核心、支持、通用。因此,您将优先考虑应该从遗留系统迁移的内容
  2. 团队:如果你管理多个团队(在你的情况下可能是传统团队还是云团队?(,确保团队与子域保持一致(反向康威机动(,这样你就可以最大限度地减少协作摩擦
  3. 耦合:定义不同子域之间的关系:谁是上游,谁是下游,什么是接口合同

然后你可以开始考虑";管道";以及根据您的技术要求连接组件的不同基础设施选项:同步、异步等。在异步连接的情况下,回到您最初的问题:是否通过消息队列代理?

这些幻灯片将更深入地解释:使用上下文映射可视化社会技术架构。

如果这种类型的体系结构方法能引起你的共鸣,可以看看领域驱动设计入门建模过程,了解更多细节。

最新更新