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

时间:2019-06-27 05:16:06

标签: java design-patterns

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

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

  1. 发送(消息,回叫);
  2. CompletableFuture send(message);

无论哪种方式,我都在考虑使用一个事务映射(哈希映射),其中包含对Callback或CompletableFuture映射的transactionId。 我的问题是哪个是更好的做法?或者是其他东西? 可以将CompletableFuture放入Map中吗?

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

1 个答案:

答案 0 :(得分:-1)

您可以使用RabbitMQ或Apache Kafka。

1)RabbitMQ:    用于处理小数据异步消息传递。由于需要额外的插件,因此无法扩展。
   留言速度:10K /秒

1)Apache Kafka:    处理大数据异步消息传递。    邮件速度:1000K /秒。