什么是服务/消息总线的可接受延迟

时间:2015-11-18 05:56:17

标签: amazon-ec2 architecture rabbitmq latency microservices

我正在开发一种简单的RPC样式消息总线,其中微服务将存在于不同的虚拟机上。

我只是在EC2上使用c4.large实例测试一个简单的概念证明,用于RabbitMQ,服务器和客户端。

我注意到往服务器的往返时间约为100毫秒,连接到amqp服务器约为20毫秒,另外约80毫秒用于返回一个简单的字符串。

对于每个RPC请求,开销为100毫秒似乎相当高。这种架构风格是否存在典型的可接受延迟?我应该看看不同的工具吗?

1 个答案:

答案 0 :(得分:4)

消息总线通常用于应用程序以支持异步处理。一个非常简单的例子就是发送电子邮件以响应应用程序中发生的状态变化。

在这方面,100毫秒非常快。

如果您正在尝试快速在应用程序中保持同步操作,那么您就不会对将消息总线作为其中的一部分而感到高兴。

请注意,上述语句是指外部消息总线。可以使用更少的延迟构建进程内消息传递机制,但这可能不是您在微服务架构环境中所需要的。

  

我应该查看不同的工具吗?

不,您有适合微服务架构的工具。但你应该问自己以下问题:

  • 微服务架构是我的应用程序的正确选择吗?
  • 如果是,我是否有合适的服务界限?