spring-boot - Spring Boot 2 集群与一个数据库实例
问题描述
我是 Spring 生态系统的新手,我想知道,如果您想水平扩展应用程序层并只保留一个数据库实例(在本例中为 Postgresql),是否应该做些什么。
说到,我是否应该担心由于应用程序中默认的二级或三级缓存或任何其他原因而导致的不一致?
解决方案
根据您的设置,我可以看到两件事
- 您希望在应用程序级别进行水平扩展,但只使用单个数据库。这可能会成为单点故障。您也可以在集群中运行您的数据库。
- 多个实例连接到同一个数据库。因此,可能存在同时多次读取不会成为问题的情况,但对同一个表的多次写入工作方式不同,因此请注意这一点。
您可以在此处阅读有关Postgresql 阻塞的更多信息。
关于您对不一致的担忧
在某个时间点可能会有一些不一致,但其影响不会很明显,只需增加几毫秒的开销。
笔记:
你还没有提到你打算如何在应用程序级别扩展它是使用 LoadBalancer 完成的(例如:Nginx)
推荐阅读
- google-apps-script - UrlFetchApp.Fetch 返回状态 200 但 Google 脚本 Web 应用程序不起作用
- python - Pandas 代码将大于 0.5 的值舍入为 1
- powershell - 加密 Excel 电子表格 epplus powershell
- amazon-s3 - 将数据从 TIBCO Businessworks 5 发送到 Amazon S3
- python - 用于提取文件路径(不是 url)的通用正则表达式
- azure - Logging in Azure WebApp
- c++ - constexpr 计算的编译时性能
- javascript - 以 this 作为 arg 的复选框开关不会保存更改的 .checked 值
- mysql - MySQL 与另一个条件搜索匹配
- google-cloud-dataflow - 数据流管道 - “处理卡在步骤中
至少对于