繁体   English   中英

异步消息处理的最佳实践是什么

[英]What's the best practice on async message handling

我正在用 netty 和 java8 实现一个 websocket 消息客户端。 每条消息都有一个 transactionId,与其响应相关联。

我需要实现一个发送 API。 所以我有几个选择。

  1. 发送(消息,回调);
  2. CompletableFuture 发送(消息);

无论哪种方式,我都想拥有一个事务映射(hashmap),其中包含到回调或 CompletableFuture 映射的事务 ID。 我的问题是哪个是更好的做法? 或者是其他东西? 将 CompletableFuture 放入 Map 可以吗?

有什么好的设计可以解决类似的问题?

您可以使用 RabbitMQ 或 Apache Kafka。

1) RabbitMQ:处理小数据异步消息。它不可扩展,因为它需要额外的插件。
消息速度:10K/秒

1) Apache Kafka:处理大数据异步消息。它是可扩展的。 消息速度:1000K/秒。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM