假设我们有一个微服务A和一个B.B有它自己的数据库。但是B必须水平缩放,因此我们最终得到了3个B实例。数据库会发生什么?它是否相应地缩放?是否保持3 B实例的相同(集中式)数据库?它是否成为分布式数据库?会发生什么?微服务:数据库和微服务实例
5
A
回答
3
当您使用数据分区时,通过多个服务实例使用一个数据库是可以的。
0
答案基于哪种数据应该从3个B实例共享。有些场合:
在B只是读而不写什么数据,数据库可以使用重复方法论,三级乙等的实例就是从不同的数据库实例读取数据,DB被复制。
B实例可以在不中断其他B实例的情况下读/写数据,这意味着每个B实例都可以拥有指定的数据,并且实例之间没有数据共享,数据库被更改为具有相同模式但完全不同数据的三个数据库;
B实例应共享大部分数据,并且每个实例都可以将数据写回到数据库。所以B实例应该使用一个DB和一些DB锁来避免实例之间的冲突。
在其他一些不同的情况,还会有很多其他的方法来解决这个问题,如使用内存数据库Redis的一样,排队服务一样的RabbitMQ对于B实例。
0
如pattern database per service解释由Chris理查森,同样的服务的
实例应该共享同一数据库B的
相关问题
- 1. 无状态微服务和数据库
- 2. 微服务和多个数据库
- 3. 如何将数据库与微服务(和新服务)同步?
- 4. SemVer和微服务
- 5. 微服务和ERP
- 6. 微服务每个数据库表
- 7. 在微服务架构中,微服务将如何服务?
- 8. 微服务 - 安全实施
- 9. JHipster微服务实体
- 10. 微服务在实践中
- 11. 在微服务
- 12. 亚马逊网络服务微型实例 - 服务器崩溃
- 13. 了解Docker和微服务
- 14. 微服务通信
- 15. 微服务管理
- 16. 微服务部署
- 17. Jhipster 4.6.2微服务
- 18. 微服务通信
- 19. 测试微服务?
- 20. 微服务认证
- 21. 微软SMTP服务
- 22. 分享微服务
- 23. graphql的微服务
- 24. 微服务架构
- 25. 微服务设计
- 26. JBOSS的微服务
- 27. Grails 3微服务
- 28. 微软警报服务和通知服务的最佳实践
- 29. 微服务:服务发现和服务注册与阿卡
- 30. 在微服务架构+的NoSql数据库[微服务体系结构的数据一致性]
3实例仍为1个逻辑服务。所以你只需要一个数据库。 –
@TomRedfern感谢您的回答;) 您是否曾经遇到过需要扩展数据库的情况?如果是这样,怎么处理? – nobitta
http://stackoverflow.com/questions/33399988可能的重复 – KGhatak