因此,在实现负载均衡器、水平扩展和数据库复制之后,我们的架构可能如下所示:

文章插图
我们的水平扩展架构
如果您有兴趣了解更多,这里有一个关于负载均衡器的精彩视频解释 。
旁注:当我们谈论微服务、负载均衡器和扩展时,我们可能总是在谈论后端应用程序 。对于前端应用程序,它们大多总是作为单体开发,尽管还有一个奇怪有趣的东西叫做微前端 。
您的基础架构所在的位置
现在我们已经对如何组织应用程序基础架构有了基本的了解,接下来要考虑的是我们将把所有这些东西放在哪里 。
正如我们将要看到的,在决定在何处以及如何托管应用程序时主要有三个选项:在本地、在传统服务器提供商上或在云上 。
本地托管
内部部署意味着您拥有运行应用程序的硬件 。在过去,这曾经是托管应用程序的最传统方式 。公司曾经有专门的房间供服务器使用,并且有专门的团队负责硬件的设置和维护 。
这个选项的好处是公司可以完全控制硬件 。不好的是它需要空间、时间和金钱 。
想象一下,如果您想横向扩展某台服务器,那将意味着购买更多设备,对其进行设置,不断对其进行监督,修复任何损坏的东西......如果您以后需要缩减该服务器,那么,通常你'这些东西买了就不能退了
对于大多数公司而言,拥有本地服务器意味着将大量资源用于与公司目标没有直接关系的任务 。

文章插图
我们如何想象我们在 Notflix 的服务器机房

文章插图
结局如何
本地服务器仍然有意义的一种情况是在处理非常微妙或私密的信息时 。例如,想想运行发电厂的软件或私人银行信息 。其中许多组织决定使用本地服务器作为完全控制其软件和硬件的一种方式 。
传统服务器提供商
对于大多数公司来说,更舒适的选择是传统的服务器提供商 。这些公司拥有自己的服务器,他们只是租用它们 。你决定你的项目需要什么样的硬件,并按月支付费用(或根据其他条件支付一定的费用) 。
此选项的优点在于您不再需要担心任何与硬件相关的事情 。供应商会照顾它,作为一家软件公司,您只担心您的主要目标,即软件 。
另一个很酷的事情是扩大或缩小规模很容易且无风险 。如果您需要更多硬件,则需要付费 。如果您不再需要它,您只需停止付款 。
众所周知的服务器提供商的一个例子是托管程序 。
托管在云端
如果您已经接触过技术一段时间,您可能不止一次听说过“云”这个词 。起初,这听起来很抽象,有点神奇,但实际上它背后的东西只不过是亚马逊、谷歌和微软等公司拥有的巨大数据中心 。
在某些时候,这些公司发现他们拥有并非一直在使用的 huuuuuuuuge 计算能力 。由于所有这些硬件无论你是否使用它都代表着成本,明智的做法是将计算能力商业化给其他人 。
这就是云计算 。使用AWS(亚马逊网络服务)、谷歌云或 MicrosoftAzure等不同的服务,我们能够在这些公司的数据中心托管我们的应用程序,并利用所有这些计算能力 。

文章插图
“云”实际上可能是什么样子
在了解云服务时,重要的是要注意有许多不同的方式可以使用它们:
传统的
第一种方法是以与使用传统服务器提供商类似的方式使用它们 。您可以选择所需的硬件类型并按月准确支付费用 。
松紧带
第二种方法是利用大多数提供商提供的“弹性”计算 。“弹性”意味着您的应用程序的硬件容量将根据您的应用程序的使用情况自动增长或缩小 。
例如,您可以从具有 8gb 内存和 500gb 磁盘空间的服务器开始 。如果您的服务器开始收到越来越多的请求并且这些容量不再足以提供良好的性能,系统可以自动执行垂直或水平扩展 。
令人敬畏的是,您可以预先配置所有这些,而不必再担心它 。随着服务器自动扩展和缩减,您只需为消耗的资源付费 。
无服务器
使用云计算的另一种方式是使用无服务器架构 。
按照这种模式,您将不会拥有一个接收所有请求并响应它们的服务器 。相反,您会将单个函数映射到访问点(类似于 API 端点) 。
推荐阅读
- 事件驱动架构的优点和面临的挑战
- 在云端使用 Redis? 以下是你应该知道的十件事
- 20 个 Python 面试题来挑战你的知识
- 嵌入式开发如何入门?
- Spring Cloud Alibaba-全局配置自定义和支持的配置项
- MinIO OSS服务器的搭建和应用
- 陈萌|陈萌开车接朱小伟回家,介怀陈亚男的存在?称不愿做2婚妻子
- 小叶紫檀|盘点那些招财的翡翠!你有几件?
- 黄山最值得去的五个景点 黄山市旅游景点
- 职场中有效的抱怨是你晋升的阶梯
