gpt4 book ai didi

c# - Pub/Sub 和基于内容的订阅

转载 作者:行者123 更新时间:2023-12-02 22:33:38 25 4
gpt4 key购买 nike

我正处于设计事件驱动架构(基本发布/订阅)系统的初始阶段。尚未选择实际的工具和框架,因此这个问题更多的是概念性的而不是特定于技术的(尽管它将在 .Net 中完成)。

对于这种情况,一个近乎完美的类比是金融交易系统。想象一个不断接收市场数据的服务器(实时或每隔一段时间——这无关紧要)。服务器将发布特定证券的定价更新。出于这个问题的目的,假设服务器正在“监视”和发布 1000 种证券。

有 100 个客户端应用程序订阅了此服务。每个客户只会对正在发布的一小部分证券感兴趣。

如果客户端接收到所有 1000 只证券的消息,则它必须解析它们,这显然会产生更多的网络流量和客户端的更多负载。

另一方面,必须在服务器端解析消息内容似乎会增加发布/路由时的负载。

在这种类型的架构中通常如何处理?

最佳答案

看看RabbitMQ提供的一些教程

Link

请特别注意,您可以使用路由和主题将消息传递给适用的客户端。这里的“服务器”可以简单地将消息放到队列中,客户端可以根据他们订阅的路由/主题简单地监听某些消息。可能还有很多其他选项,但这似乎是一个不错的选择。RabbitMQ 有一些可用的 .Net 客户端,我对他们的产品非常满意。

我也用过 IBM MQ 和 MSMQ,但我更喜欢 Rabbit。主要是因为它基于 AMQP,这是一个开放协议(protocol),让我可以使用 .Net、Python、Java 等来连接,而不是专有驱动程序或尝试将所有内容包装在 JMS 中。绝不是专家,所以也许其他人对您的问题有更深入的了解。

祝你好运。

关于c# - Pub/Sub 和基于内容的订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com