关于服务器,什么时候应该将进程移动到另一台服务器而不是在同一台服务器上?
Regarding servers, when should a process be moved to another server instead of on the same?
假设我有一台服务器。它的工作是为我的前端提供视图请求。数据库连接到它,什么不是。
假设我还想有一个程序可以获取用户上传的图像,然后允许用户通过 api?
修改图像
什么时候 运行 在同一台服务器上运行这两个程序是个好主意?一个坏主意?是否有其他因素决定何时将程序放置在单独的服务器上?
例子。我在 heroku 的一台服务器上有一个 django 应用程序 (python) 运行。该应用程序提供 restful api。我在 s3 上完成了图像托管,直接上传到浏览器。
我想在某些时候允许用户将他们的图像上传到我的服务器进行处理,然后再将它们上传到 s3。也许他们想调整图像大小、裁剪图像等。我担心的是,在同一台服务器上大规模完成这两项操作将是糟糕的设计。我错了吗?
我会尝试提供一些有用的建议,但您的问题过于宽泛,很难回答。您要问的是设计问题,答案因以下因素而异:
- 您正在使用哪个language/frameworks。
- 缓存或不缓存。
- 安全需求(例如,是否有必要将修改图像的进程与视图界面隔离threads/requests)。例如,这可能是由于您的框架或缓存基础结构的限制。
- 您是否有可用的服务器来隔离这些进程。
系统架构师通常会根据具体的实施需求找出这些问题的答案,从而获得丰厚的报酬。
如果您给我们更具体的信息,我们可能会提供更好的帮助。
根据您的 python 个示例更新了信息:
我对 django/heroku 了解不多,但你的例子很有帮助。一般来说,运行 来自同一台服务器的这两个应用应该没问题,至少一开始是这样。只要服务器没有因 CPU/IO 开销而过载,并且应用程序部署为单独的应用程序(以保护它们的进程免受彼此的影响),一切都应该可以正常进行。
这涵盖了共享服务器的两个最常见问题:
1) 一般服务器过载 (硬件无法满足 CPU/IO 的需求)
2) 应用程序进程需要隔离,以防止可能对环境进行共享访问而导致的各种编程错误和安全问题。
另外一个注意事项:我注意到如果您使用多个域,在 Heroku 中部署多个应用程序可能会出现问题,因此请记住这一点。我不确定这是否仍然正确,但这里有一个 link:
https://pilot.co/blog/hosting-multiple-heroku-apps-on-a-single-domain/
希望对您有所帮助。
假设我有一台服务器。它的工作是为我的前端提供视图请求。数据库连接到它,什么不是。
假设我还想有一个程序可以获取用户上传的图像,然后允许用户通过 api?
修改图像什么时候 运行 在同一台服务器上运行这两个程序是个好主意?一个坏主意?是否有其他因素决定何时将程序放置在单独的服务器上?
例子。我在 heroku 的一台服务器上有一个 django 应用程序 (python) 运行。该应用程序提供 restful api。我在 s3 上完成了图像托管,直接上传到浏览器。
我想在某些时候允许用户将他们的图像上传到我的服务器进行处理,然后再将它们上传到 s3。也许他们想调整图像大小、裁剪图像等。我担心的是,在同一台服务器上大规模完成这两项操作将是糟糕的设计。我错了吗?
我会尝试提供一些有用的建议,但您的问题过于宽泛,很难回答。您要问的是设计问题,答案因以下因素而异:
- 您正在使用哪个language/frameworks。
- 缓存或不缓存。
- 安全需求(例如,是否有必要将修改图像的进程与视图界面隔离threads/requests)。例如,这可能是由于您的框架或缓存基础结构的限制。
- 您是否有可用的服务器来隔离这些进程。
系统架构师通常会根据具体的实施需求找出这些问题的答案,从而获得丰厚的报酬。
如果您给我们更具体的信息,我们可能会提供更好的帮助。
根据您的 python 个示例更新了信息:
我对 django/heroku 了解不多,但你的例子很有帮助。一般来说,运行 来自同一台服务器的这两个应用应该没问题,至少一开始是这样。只要服务器没有因 CPU/IO 开销而过载,并且应用程序部署为单独的应用程序(以保护它们的进程免受彼此的影响),一切都应该可以正常进行。
这涵盖了共享服务器的两个最常见问题:
1) 一般服务器过载 (硬件无法满足 CPU/IO 的需求)
2) 应用程序进程需要隔离,以防止可能对环境进行共享访问而导致的各种编程错误和安全问题。
另外一个注意事项:我注意到如果您使用多个域,在 Heroku 中部署多个应用程序可能会出现问题,因此请记住这一点。我不确定这是否仍然正确,但这里有一个 link:
https://pilot.co/blog/hosting-multiple-heroku-apps-on-a-single-domain/
希望对您有所帮助。