问题标签 [message-bus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
94 浏览

asp.net-core - 使用 Swashbuckle.AspNetCore 的消息总线消息文档?

我正在考虑在我的 ASP.Net Core 项目中使用 Swashbuckle.AspNetCore v4.0.1 NuGet 包来为我的 Web API 生成一个 SwaggerUI 文档端点,我公司内部的各个团队将使用该端点。我的 API 使用并发出一些我希望包含在该文档中的消息总线事件和命令。

Swashbuckle 的中间件中是否有任何自定义设置允许我记录与 API 端点无关的输入/输出对象?

0 投票
1 回答
370 浏览

.net - 如何使用 SignalR 扩展聊天应用程序

您将如何扩展正在使用的聊天应用程序(比如 WhatsApp 或 Telegram)SignalR?是否有可能或SignalR不是这种应用程序的解决方案?

0 投票
1 回答
977 浏览

redis - 在redis消息总线中为每个用户创建一个通道是一种好习惯吗

我们正在使用 redis 消息总线并使用通道处理消息。但是如果我们的应用程序部署在多个实例中,那么请求和响应将传递给所有实例。为了避免这种情况,以下哪种方法更好?

  1. 为应用程序的每个实例创建一个通道
  2. 为每个用户创建一个频道

任何建议将不胜感激

0 投票
1 回答
1667 浏览

architecture - 消息总线和消息队列的理解

我想知道我对消息总线和消息队列工作的理解是否正确。

首先,我需要清除命名,服务总线消息总线可以互换使用?它是一种发布者-订阅者类型的系统,其中消息被添加到任意数量的发布者的消息集合中,并且任意数量的订阅者都可以从中读取,到目前为止我是对的吗?

我不明白的是

  1. 订阅者如何知道它感兴趣的消息,我的意思是它显然订阅了它,但是它如何知道它应该订阅哪些消息?,它在哪里看到消息列表,它如何获得它? 通过 API 或如何?

  2. 订阅者如何接收消息?

  3. 何时从 MESSAGE-COLLECTION 中删除消息?我可以想象的是,为每条消息保留了一些计数器,该计数器表示订阅者的总数,一旦一个订阅者成功处理了该消息,它就会减少。

消息队列也称为消息代理,是一种推拉式系统。有任意数量的生产者和任意数量的消费者。每个生产者为每个消费者创建一个队列,向其提供消息。

由于是这种情况,一旦消费者成功处理该消息,该消息就会被删除。我的消息队列对其工作原理的理解是否正确?

我不确定的另一个概念是event hub

0 投票
1 回答
69 浏览

c# - MVC5 Portable Area,如何使用消息总线?

我花了几个小时阅读了许多不同的示例和文档,以使用 ASP.NET MVC 设置可移植区域,目的是为多个应用程序共享具有身份验证的公共登录页面。我把这一切放在一起,到目前为止效果很好,但我遇到的一件事是使用消息总线。我认为这是在主机和便携式组件之间进行通信的一种方式,但我没有看到如何做到这一点的明确方法。

例如; 如果我的便携式登录成功,我如何告诉主机以便它可以做某事(设置 cookie、重定向到特定页面等)?另外,如果我想向 Portable 发送一些东西(例如主机应用程序的标题或程序集版本),我该怎么做?我还没有尝试过任何东西,因为我似乎找不到一个完整的例子。

0 投票
2 回答
3687 浏览

c# - C# Azure:如何从 Microsoft.Azure.ServiceBus.Message 读取正文?

Microsoft.Azure.ServiceBus.Message上课有问题。我想创建一个包含有效负载对象的消息对象,然后从中读取该对象。在我当前的示例中,我什至没有通过真正的 Azure 总线发送消息;我只是在内存中创建它,然后尝试读取它。

我无法弄清楚我应该以什么类型来阅读消息正文。我试过了byte[]string原来的对象类型。在我所有的情况下,我得到一个XmlException:“输入源的格式不正确”。

有人可以告诉我在编码或解码消息时我做错了什么吗?

0 投票
1 回答
156 浏览

rabbitmq - 无状态服务之间的 Service Fabric 发布/订阅消息

使用异步消息传递在 Service Fabric 中实现松散耦合微服务的最佳方式是什么?我希望服务 A发布一条消息,而服务 B接收它。在这种情况下,我可以使用 rabbitmq 或 azure 消息总线吗?如果是这样,我如何在扩展架构中启用与这些端点的通信?

0 投票
1 回答
474 浏览

architecture - 每个事件生产者一个主题 VS 一个跨多个生产者消息架构共享的主题

这是一个普遍的问题,因为它不仅适用于我的场景(使用 Azure 服务总线),而且适用于发布/订阅者上下文中的任何事件总线。

问题是:有没有偏好在生产者之间不能共享主题的架构/拓扑? 换句话说:每个事件生产者一个主题 VS 多个生产者共享一个主题?

我有一个明确的偏好:一个主题应该由一个生产者拥有和访问,如果是其他生产者。但我似乎是团队中唯一持此观点的人,而其他人似乎在“为简单起见”在不同的事件制作者之间共享同一主题时没有任何问题,而且我不能真正争论技术可行性。 .

我希望从更技术的角度找到有价值的答案和良好实践,因为我的推理是从更多的业务/组织的角度来看,因为我来自 DDD 背景,而其他人则没有。

  • 主题是一对多通信的输出框(我将其解释为一个事件发布者,多个订阅者)
  • 一个主题可以处理不同类型的事件消息,只要它们以某种方式相关(当然这是非常相关的)
  • 在 DDD 中,有一个限界上下文的概念,我喜欢将微服务/模块视为实现这些限界上下文的一种方式。因此,即使其他一些服务“认为”他们想要发布相关内容并想要访问要发布的共享主题,我认为它们属于不同的有界上下文,并且应该有自己的主题。
  • 如果多个生产者真的属于同一个限界上下文,那么我认为只有一个服务(或基础模块)应该负责发布在限界上下文中发生的事件。
  • 生产者可能还想消费来自其他生产者的事件(它也是一个下标)。生产者订阅同一个主题并且必须根据消息是由自己产生还是由其他人产生来区分消息是没有意义的。

如您所见,从 DDD 的角度来看,需要在同一主题中发布的多个生产者会引发设计气味。我并不是说它不能完成,我试图从技术角度找出是否应该避免它。

有这方面的实践经验的人吗?

PS:关于 Kafka 有一个类似的问题,但我认为这与 Kafka 对发布者-订阅者使用不同的技术方法并不完全相同


更新 1:我不知道 NServiceBus,但我已经使用 MassTransit 进行了一些工作,并且当利用 MassTransit 的拓扑创建(这是 afaik 的唯一方法)时,它不仅为每个生产者创建了不同的主题,而且为每个消息类型创建了不同的主题。

0 投票
1 回答
126 浏览

kubernetes - 云上高可用性的 RabbitMQ 最佳实践

我打算在 Kubernetes Engine 集群上部署 RabbitMQ。我看到有两种位置类型,即 1. 区域 2. 区域 有人可以帮助我了解每种位置类型我能想到什么样的好处吗?我相信多区域设置可以帮助增强整个网络。即使在发生区域故障事件的情况下,多区域设置也可以确保无可争议的服务。这种理解正确吗?我正在寻找选择位置类型的相关理由。请帮忙。

0 投票
1 回答
167 浏览

reactiveui - AvaloniaUI - MVVM/ReactiveUI - 与标准 ReactiveUI 的兼容性

Avalonia UI 有自己的 ReactiveUI 实现/版本。这个库与标准 ReactiveUI 库的兼容性如何?

换句话说,我可以在标准库中创建我的模型和视图模型吗?如果他们更喜欢 WPF、Xamarin、UNO 或 Maui(此时都可以使用 ReactiveUI),他们可以将其中之一用于视图。如果他们更喜欢 avalonia 的视图,他们可以使用 Avalon 实现。那可能吗 ?

第二个问题是,Avalonia-ReactiveUI 消息总线是否与常规 ReactiveUI 100% 兼容(原因与前面提到的相同)?那么我可以将消息从常规/标准 ReactiveUI 传递到 AvaloniaUI-ReactiveUI 实现吗?