标签: messaging

MassTransit - 初始化复杂消息的最佳实践

假设我有一个 ASP.NET Core Web API 应用程序,并且我的操作方法之一接收IEnumerable<AddressModel> addresses,如下AddressModel所示:

public class AddressModel
{
    public string Street { get; set; }
    public string ZipCode { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想用它来构造一个更复杂的消息对象并通过 MassTransit 发送它 -Addresses将是一个嵌套属性,我将设置更多字段:

public interface ICreateContact
{
    ContactTypeEnum Type { get; }
    List<IAddress> Addresses { get; }
}

public interface IAddress
{
    string Street { get; }
    string ZipCode { get; }
    string …
Run Code Online (Sandbox Code Playgroud)

.net messaging masstransit rabbitmq

4
推荐指数
1
解决办法
2284
查看次数

Kafka 主题和微服务的多个实例

这更多的是一个系统设计问题。

假设我有一个微服务架构,并且有X 个实例(用于Service B对服务的 HTTP 请求进行负载平衡)。但是,Service B也是消费者对一些 Kafka 话题的关注。如何避免处理同一条消息X 次(X 是 的实例数Service B)?at least once如果处理是幂等的,那就没问题了。不需要exactly once,但也不可能X times

服务 A 可以是订单服务。它生成有关用户向Orders topic下订单的消息。

服务 B 可以是支付服务。它使用来自Orders 主题的消息来向用户收费。

支付订单可能是幂等操作。但是,如果我有 10 个 Payment Service 实例,我不想浪费 CPU 和 IO 来做某件事 10 次。

即使分区是答案,如果特定微服务的实例比分区多怎么办?

messaging idempotent autoscaling apache-kafka microservices

4
推荐指数
1
解决办法
6302
查看次数

Async Messaging(特别是发布/子样式消息传递)是否可用作域服务体系结构,还是仅在以SOA为中心的环境中?

我一直在研究异步消息传递,我喜欢它优雅地处理某些领域内的一些问题的方式以及它如何使领域概念更加明确.但它是一种可行的通用域驱动开发模式(至少在服务/应用程序/控制器层),还是设计开销,应该限制在基于SOA的场景,如远程服务和分布式处理?

messaging soa

3
推荐指数
1
解决办法
571
查看次数

任何人都可以为Java推荐一个高效的UDP消息框架吗?

我需要能够从Java发送紧凑的消息(理想情况下小到足以适合单个UDP数据包).它需要尽可能高效 - 任何人都可以给我任何指针(除了手动构建它们)吗?

java messaging

3
推荐指数
1
解决办法
1203
查看次数

协议转换/规范化:Biztalk,替代方案?

我们需要从安全系统,火警,摄像系统等系统中采集几十种不同的协议,并将它们集成到一个通用协议中.

我希望这是一个消息服务器,许多系统可以订阅和/或通过.

  • 轮询和非轮询"驱动程序"(协议转换器)
  • 处理RS232/RS485/tcp
  • Java或C#等托管语言中的可编程"驱动程序"
  • 规则引擎能力

biztalk适合这个吗?

有开源替代品吗?

是否有Java/Java EE方法可以做到这一点?

在一端,系统将是SCADA系统,另一端是一种中间件/消息服务器.

任何关于最佳进展方式的想法都将受到赞赏.我知道在驱动程序方面会涉及大量编程,但是尽管我很想,但从头开始构建整个系统并不合适.

messaging biztalk scada

3
推荐指数
1
解决办法
1739
查看次数

消息传递到UI线程

我正在为android开发一个针对knx模块的serialport应用程序.我可以发送并接受对knx modulde的表扬.当从serialport收到消息时,我想更改ui(例如,按钮属性).我用处理程序尝试过,但我无法改变ui.帮助我.

@Override public void OnSerialsData(final byte [] buffer,final int size){....}

它的我的serialport监听器函数调用insine ReadThread.这个主题是从我的活动的不同包中开始的.我想用这个方法向主要活动发送一条消息.

messaging multithreading android knx

3
推荐指数
1
解决办法
1401
查看次数

ISO 20022和SWIFT消息

ISO 20022标准消息类型是否与SWIFT MX和SWIFT MT一对一?

到目前为止,我已经查看了每一个的文档,但它太多了,我仍然试图绕过它.

谢谢

messaging enterprise

3
推荐指数
1
解决办法
1493
查看次数

从Thread发布消息到GUI最佳实践?

我正在研究小型监控应用程序,它将通过SNMP,TCP,ICMP与某些设备进行通信,其他线程必须执行一些计算.所有这些结果我必须在GUI(一些Forms或TabSheets)中输出.

我正在考虑下一个可能性:

  • 使用Synchronize从每一个工作者线程:
  • 使用共享缓冲区和Windows消息传递机制.线程将消息放入共享缓冲区(队列),并将通过Windows消息通知GUI.
  • 使用单独的线程,它将侦听同步原语(事件,信号量等)并再次使用Synchronize,但仅限于GUI专用线程,或GUI上的Critical Section来显示消息.
  • 更新:(由一位同事提出)使用共享缓冲区和TTimer主要形式,它将定期检查(100-1000毫秒)共享缓冲区并消耗,而不是Windows消息传递.(它对消息传递有一些好处吗?)
  • 其他?

亲爱的专家,请解释什么是最佳实践或暴露的替代品的优缺点是什么.

更新:
作为想法:
//共享缓冲区+发送消息变量
LogEvent全局函数将从任何地方调用(也来自工作线程):

procedure LogEvent(S: String);
var
  liEvent: IEventMsg;
begin
  liEvent := TEventMsg.Create; //Interfaced object
  with liEvent do
  begin
    Severity := llDebug;
    EventType := 'General';
    Source := 'Application';
    Description := S;
  end;
  MainForm.AddEvent(liEvent); //Invoke main form directly
end;
Run Code Online (Sandbox Code Playgroud)

在主窗体中,事件ListView和共享部分(fEventList: TTInterfaceList已经是线程安全的)我们将:

procedure TMainForm.AddEvent(aEvt: IEventMsg);
begin
  fEventList.Add(aEvt);
  PostMessage(Self.Handle, WM_EVENT_ADDED, 0, 0);
end;
Run Code Online (Sandbox Code Playgroud)

消息处理程序

procedure WMEventAdded(var Message: TMessage); message WM_EVENT_ADDED;
...
procedure TMainForm.WMEventAdded(var …
Run Code Online (Sandbox Code Playgroud)

delphi messaging multithreading delphi-7

3
推荐指数
1
解决办法
2382
查看次数

使用基于SMS的用户注册过程创建一个android应用(la Yo和WhatsApp)

我正在开发一个免费的消息传递应用程序,我希望基于用户的电话号码实施用户注册过程,并且为了验证该号码,我想在以下地区实施类似于Yo,WhatsApp或Telegram应用程序的SMS机制:用户会在SMS中收到唯一的确认码,以验证电话号码并激活用户的帐户。

我的研究表明,所有这些应用程序都使用第三方短信网关提供商,例如Twilio或Nexmo,但是对于免费的休闲应用程序(例如Yo)而言,这似乎非常昂贵。因此,我想知道像Yo这样的免费应用是否使用付费的SMS网关提供商向其用户发送确认代码,或者他们确实使用了其他任何东西。

我还检查了Telegram的Android应用程序源代码(请参阅此处),但是我无法弄清楚它们用于发送带有确认代码的SMS的方式和服务。是否有人熟悉Telegram的源代码,可以告诉我他们是如何做到的?

非常感激。

messaging sms android sms-gateway telegram

3
推荐指数
1
解决办法
4487
查看次数

Qpid Java 6.0.1 vs Qpid JMS vs Qpid质子

Qpid Java 6.0.1和Qpid JMS 0.9.0和Qpid Proton有什么区别?我是JMS的新手,并想用Apache Qpid实现简单的JMS应用程序。谁能提供给我链接以了解它。

java messaging jms amqp qpid

3
推荐指数
1
解决办法
929
查看次数