【发布时间】:2020-08-05 04:07:58
【问题描述】:
寻找设计问题的输入。我们正在重新设计我们现有的服务器,该服务器目前运行良好,但未来不会扩展。
当前设计:它是一台服务器(我们运行同一台服务器的多个实例),它有许多工作流。让我们将这些工作流称为在服务器内部处理的 A、B、C、D。到目前为止,我们有一个开发团队在这个服务器上工作,这使得处理版本变得容易。性能也不错,因为我们利用了内存缓存。
未来设计:我们现在有多个团队(每个团队处理一个工作流程,A 团队处理工作流程 A,B 团队处理工作流程 B,等等)。有了这种新的团队结构和当前的设计,我们无法扩展我们的发布(因为它只有一台服务器,我们在任何给定时间只有一个团队发布,从而降低了整体团队效率)。需要隔离,以便团队可以相互独立地发布对工作流的更改。此外,我们希望在此服务器中加入更多工作流。
关于我们如何解决这个不断增加的工作流程问题的任何设计想法
我当前的解决方案:将服务器拆分为 4 台服务器,以便每个团队可以单独管理工作流程。这种方法的缺点是代码管理。这些工作流程中的大多数共享通用代码库。此外,拆分服务器会导致我们丢失缓存(这不是当前设计的问题)
期待听到您的建议。
【问题讨论】:
-
您需要更清楚地解释您当前的发布过程。发布需要多长时间?这个过程会阻止其他团队怎么办?
标签: java server architecture isolation