假设我的网店和数据库有多个表格,如产品,产品价格等。我正在向我的联盟合作伙伴销售我的软件解决方案。他获得了数据库,它是用于输入数据的窗口应用程序,我希望他的所有产品也可以在我的网站上获得。所以,我有我的产品并在我的网站上出售。合作伙伴有他的网站和他的产品,但我也希望他的所有产品也可以在我的数据库中使用。我最初的想法是构建某种应用程序,定期连接到合作伙伴的数据库并将数据插入/更新到我的表。但最近我想到了一些服务车。服务巴士的路要走吗?所以情况就是这样。合作伙伴插入产品(总线发送产品被插入的消息,合作伙伴更新价格然后总线发送消息,价格行中的某些行被更改。然后我会在服务器上运行一些监听消息和更新到我的数据库的控制台应用程序。你认为它是可扩展的解决方案吗?例子是虚构的,在现实生活中我有很多表。
答案 0 :(得分:0)
我最初的想法是构建某种应用程序,定期连接到合作伙伴的数据库,并将数据插入/更新到我的表。但最近我想到了一些服务车。服务巴士的出路是什么?
在我看来,正如您所提到的,Azure Service Bus可以用作场景的方法。您可以让他的合作伙伴在他的程序中插入/更新他的数据库记录时创建一条消息,然后您可以按计划(或连续)运行background tasks/jobs以消耗消息并在您自己的数据库中插入/更新记录。为了提高性能和可用性,您可以使用分区队列(或主题)。
This article介绍了如何使用Azure Service Bus消息传递来优化性能,请参阅它。请记住检查并处理任务/工作中的dead-letter queue (DLQ)。