2

我即将开始一个将用作简单消息总线的项目。消息或事件将在等待订阅者时发送给它。不必存储消息,因为我只是希望它作为任何订阅者实时数据的传递。首选的交付机制是 Web 请求 - REST/JSON。

在我最近与 Redis 的合作中,我认为这是一个很好的候选者,但由于我们主要是Microsoft 商店,所以我也在考虑WCF 服务Windows 服务总线

订阅者可能并不都是 .Net 客户端,所以我希望尽可能多地使用它,但是在门外,.Net 客户端连接将是第一位的。

我想创建尽可能简单的实现——不需要大量的开发时间,因为我想把大部分时间花在订阅者身上。

欢迎提出建议。

4

3 回答 3

1

如果您想使用 Redis,请查看 Redis 的发布/订阅命令。

我不是 .net 人,但看起来这个链接可能会引导你朝着正确的方向前进:https ://github.com/ServiceStack/ServiceStack.Redis/wiki/RedisPubSub

于 2013-01-19T01:03:03.613 回答
0

Windows Azure 服务总线支持消息和事件模式。如果您只想跨网络边界连接服务,则可以使用 Relay,但在您的情况下,您希望不同类型的客户端使用不同的协议进行通信,因此消息传递可能更合适。您可以使用任何协议/编程模型 -> .NET API、WCF 绑定和简单的 REST 客户端将消息排入队列。从模式的角度来看,您可以使用队列或主题和订阅,具体取决于您是否需要单个请求/响应通道或广播等。以下代码示例演示了使用 WCF 编程模型。

http://code.msdn.microsoft.com/windowsazure/Brokered-Messaging-WCF-ed259f73

http://code.msdn.microsoft.com/windowsazure/Windows-Azure-Inter-Role-9935c439

对于 REST 客户端,以下示例将有所帮助: http ://code.msdn.microsoft.com/windowsazure/Brokered-Messaging-569cff88

有关队列/主题的更多信息,请访问:http: //www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-queues/ http://www.windowsazure.com/en -us/develop/net/how-to-guides/service-bus-topics/

REST API 参考可在此处获得:http: //msdn.microsoft.com/en-us/library/windowsazure/hh780717

于 2013-01-20T22:57:15.437 回答
0

我们基于 ZeroMq(传输)、Cassandra(对等发现和持久性)和 Protobuf(序列化)编写了对等消息总线 Zebus。

它使用目录/网格拓扑,这意味着没有单点故障和单一瓶颈。这在向外扩展时非常有用。

您可以在此处阅读有关其架构的更多信息:https ://github.com/Abc-Arbitrage/Zebus

于 2016-05-13T08:01:08.963 回答