我可以为一个后端托管多个前端吗?

如何解决我可以为一个后端托管多个前端吗?

我认为我的问题很常见,我必须为我的每个客户托管一个单独的站点,但它是同一个应用程序,我的客户可以要求特定的更新(因为我的应用程序有一定的流程,可以更改) ,但应用程序已准备就绪,我们正在使用易于更新的配置文件。目前,我为每个客户端配备了一台服务器,但很快我就会在更新每台服务器时遇到很多麻烦(想象一下,必须输入 50 台不同的服务器来更新每台服务器,并且还要为每台服务器付费)。

我目前正在为我的服务器使用 Digital Ocean 服务。 我有一个用于后端的 Java Spring 应用程序,一个用于前端的 React JS,我的数据库是一个 postgres SQL。

目前是这样的:

enter image description here

我的想法是只使用 1、2 或 3 个服务器,从 1 个开始: 我所有的后端、前端和数据库都将在一台服务器内,但将为我拥有的每个站点运行一个前端,所有前端将连接到一个后端,而该后端将连接到一个数据库(该数据库将包含所有站点的所有数据),因为我不想为每个人都拥有一个数据库,所以我正在考虑使用 SQL View 来为我的每个客户处理数据。应该是这样的:

使用 2 个服务器: 基本上是一样的,但我会使用一个作为后端和数据库,另一个将包含我的所有前端,如下所示:

使用 3 个服务器: 基本上是一样的,但是一台服务器用于后端,一台用于数据库,一台用于前端,如下所示:

如果我的客户要求进行特定更改(仅针对他),我可以在我的应用程序中为每个客户创建一个目录,并为他更改配置文件,而对每个人进行更新只需 git pull。

>

我在这方面没有很多知识,这就是为什么我问这是否可行。如果不是,我怎么能减少更新每台服务器的工作?我应该寻找其他服务器服务吗?我应该保持我的服务器原样并寻找脚本吗?

解决方法

似乎很容易实现。只需具有通用登录页面,当客户端登录时,验证并在其设备上存储登录 cookie。当客户端请求一个页面时,只需根据他们的身份验证 cookie 提供一个页面。

if(client == 1){
Require(front_end_client_1.html)
exit();
}


if(client == 2){
Require(front_end_client_2.html)
exit();
}

if(client == 3){
Require(front_end_client_3.html)
exit();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?