【发布时间】:2020-03-11 20:00:19
【问题描述】:
我有一个关于微服务架构内可扩展性的问题:
独立于服务间通信方式(REST HTTP 或 基于消息),如果服务可扩展,这意味着服务的多个副本 服务即将启动,共享主内存如何 实现了吗? 更准确地说,instance1 怎么访问 实例2?
我问这个问题是因为服务的所有实例之间共享的非内存数据库可能会降低读写过程的速度。
设计可扩展系统架构的专家能否解释一下, 究竟有什么区别在使用(开源)Redis 解决方案或使用(开源)Hazlecast 解决方案 有问题吗?
作为另一种可能的解决方案:使用 Rabbitmq 设计可扩展系统:
将消息队列用作共享内存解决方案是否可行,通过 将消息中的大/中型对象发送到工作队列?
感谢您的帮助。
【问题讨论】:
-
消息队列一般不处理大对象。有关详细信息,请参阅this answer。你的问题的其余部分充其量是太宽泛了。你能缩小范围,或者问一个更具体的问题吗?
标签: redis rabbitmq microservices scalability hazelcast