我刚接触过服务器架构,已经阅读了很多文章,但还没有对下面的设置是否良好实践有一个确切的意见,并希望有更多经验的人能给我确认一下,如果我设置的架构是正确的:
我真的很担心rest的速度,因为与cloudflare这样的cdn相比,数字海洋中提供的区域似乎要小得多。当影响我的速度和服务时,这有多重要?
我知道这听起来很荒谬,但是区域问题让我怀疑在cdn上托管rest快速服务器是否比像数字海洋这样的地方更好。(我的直觉告诉我,我不应该在cdn上这样做,但出于某些原因,我感到不知所措,我希望有人能给我提供明确的理由,为什么我可以或不应该在那里托管一个快速rest服务器。)
发布于 2017-11-20 15:25:32
据我所知,我会采取一些不同的做法。
CDN用于服务内容,因此名为CDN ()。CDN本身不为内容服务,但它将用户路由到服务它的服务器。例如,如果您在美国、法国和亚洲拥有一台服务器,以及您来自英国的服务器,并请求该网站提供托管在这些服务器上的图像。CDN将为您提供最接近/最好的服务器。在这种情况下,这将是法国的服务器。
因此,要回答您的问题,在CDN上托管Cloudflare并不是一个坏主意,但是您需要全世界多个服务器(如果您要在全球范围内使用RESTful API )并使用Cloudflare来指导您的流量。
这就是我要做的:如果你没有预料到大量的流量(像数百万),那么在北美,南美,法国(欧盟),亚洲,也许还有澳大利亚,每个地方都有1-2台服务器。这会给你很好的保障。然后,当你设置你的CDN,它应该处理谁去哪里。使用节点和nginx将大大帮助您,这将使您变得更便宜,而不是作为强大的服务器,因为它们是相当轻的重量。
现在,对于您的数据库,您可以做两件事之一,在某个地方有一个专用的解决方案,这对于法国(EU)这样的所有地区来说都是很小的延迟,所以它更中心,或者您可以有多个并且让它们同步。拥有多个同步的数据库将是更多的工作,将需要相当多的研究。拥有一台服务器要容易得多。
数据库将是您最大的问题,决定是处理一个和处理延迟还是多个,并必须管理它们并保持它们的同步。请记住,您可以使用云托管平台来承载您的数据库,这将帮助您解决这个问题,因为许多平台将提供全球覆盖范围以及提供同步数据库。然而,在使用云平台时,您将遇到成本问题。
希望这能回答你的问题,并为你提供所需的知识!
https://stackoverflow.com/questions/47389124
复制相似问题