首页 > 解决方案 > Spring Boot 2 集群与一个数据库实例

问题描述

我是 Spring 生态系统的新手,我想知道,如果您想水平扩展应用程序层并只保留一个数据库实例(在本例中为 Postgresql),是否应该做些什么。

说到,我是否应该担心由于应用程序中默认的二级或三级缓存或任何其他原因而导致的不一致?

标签: spring-bootspring-data-jpa

解决方案


根据您的设置,我可以看到两件事

  1. 您希望在应用程序级别进行水平扩展,但只使用单个数据库。这可能会成为单点故障。您也可以在集群中运行您的数据库。
  2. 多个实例连接到同一个数据库。因此,可能存在同时多次读取不会成为问题的情况,但对同一个表的多次写入工作方式不同,因此请注意这一点。

您可以在此处阅读有关Postgresql 阻塞的更多信息。

关于您对不一致的担忧

在某个时间点可能会有一些不一致,但其影响不会很明显,只需增加几毫秒的开销。

笔记:

你还没有提到你打算如何在应用程序级别扩展它是使用 LoadBalancer 完成的(例如:Nginx)


推荐阅读