在这篇文章里,我不打算谈论诸如容错、可靠性、高可用性等高性能计算的通用术语。废话不多说,言归正传。
https://github.com/javastacks/spring-boot-best-practice使用 DNS 服务器来解析主机名和 IP 地址
每次访问网站时,计算机都会执行 DNS 查询。通常情况下,域名系统(DNS)服务器是作为托管公司提供的付费服务使用的,并不在你自己的服务器上运行。
可扩展性一般是指添加更多的资源,在不影响用户体验的情况下处理更多的用户、客户机、数据、事务或请求。我们必须决定怎样才能扩大这个系统的规模。在这种情况下,有以下两种类型的扩展:纵向扩展(scale up) 和横向扩展(scale out)。
如果我们运行的服务器有 8G 的内存,那么只要更换或者增加硬件,就可以轻松地提升到 32G,甚至 128G。有很多方法可以进行纵向扩展,具体如下:
相比之下,纵向减缩(scale down)是指从现有的服务器中移除现有的资源,如 CPU、内存和磁盘。您需要多台服务器吗?
与此相反,横向减缩(Scale in)指的是删除现有服务器的过程。3 使用负载均衡器来均衡所有节点上的流量
HAProxy 和 Nginx 是目前比较受欢迎的开源负载均衡软件。负载均衡器技术是一种能够改善系统可用性的容错保护方法,具体如下:
当涉及数据库技术时,没有放之四海而皆准的解决方案。这就是为什么许多企业同时依赖 SQL 和 NoSQL 数据库来满足不同的需求。请看下面我画的思维导图!
不要使用有状态架构。在上面的场景中,由于可以为最优的请求处理选择任意服务器,因此负载均衡器能够可以达到最高的效率。
由于状态的实现会限制可扩展性。降低可用性和提高成本,所以我们需要尽可能地选择无状态架构。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |