spring-boot - 是否需要为同一微服务的每个微服务实例拥有单独的数据库实例?
问题描述
假设我有一个微服务 A,它有 3 个实例。同样,对于微服务 B,B 服务有 5 个实例。
我将为微服务 A 和 B 提供单独的数据库,这很好。但是是否需要为 A 或 B 的每个微服务实例都有单独的 db 实例?
我的意思是说对于微服务 A 的 3 个实例,我需要有 3 个单独的 db 实例吗?还是 A 的所有实例都指向一个数据库实例?哪种方法更好?
解决方案
这个问题很广泛,没有更好或最差的方法,它完全取决于您的用例和用户负载。
根据您的问题,我了解到您需要生成单个微服务的单独实例,因此理想情况下,服务 A 的所有实例都应该可以访问相同的数据。您可以创建多主架构,在其中您可以通过设置多主数据库将您的服务连接到每个副本。本文为您概述了它的横向扩展博客。然而,这样做会产生很多影响,您需要仔细设计您的服务来实现这一点。
您还可以创建指向同一数据库的单独实例,您不需要关心复制和其他复杂问题。
推荐阅读
- api - 无法使用 Jira XRay API 更新测试执行描述和摘要
- azure-ad-b2c - 用于登录用户流的新身份提供商
- python-3.x - 客户端超时后如何保持nginx进程运行?
- javascript - 将控制台写入未链接的 html
- python - DataFrame 在对 groupby 值应用函数后创建新列
- java - 在没有 Java Object 类的情况下提取值的最佳方法是什么
- regex - 在 Perl 的正则表达式中使用“eval”时如何保存匹配的部分?
- mysql - 在 docker-compose 中,Mysql 连接被拒绝
- java - Tomcat 如何知道选择哪个 jar 来运行 servlet?
- html - (Tailwind - DaisyUI) 有没有办法改变下拉项目的悬停和活动颜色?