
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
水平扩展是程序员在学习软件开发架构技术的时候需要重点掌握的一个计算机编程知识点,而本文我们就通过案例分析来了解一下,软件架构水平扩展都有哪些常用方法。
反向代理层的水平扩展
反向代理层的水平扩展,是通过“DNS 轮询”实现的:dns-server 对于一个域名配置 了多个解析 ip,每次 DNS 解析请求来访问 dns-server,会轮询返回这些 ip。 当 nginx 成为瓶颈的时候,只要增加服务器数量,新增 nginx 服务的部署,增加一个外 网 ip,就能扩展反向代理层的性能,做到理论上的无限高并发。
站点层的水平扩展
站点层的水平扩展,是通过“nginx”实现的。通过修改 nginx.conf,可以设置多个 web 后端。 当 web 后端成为瓶颈的时候,只要增加服务器数量,新增 web 服务的部署,在 nginx 配置中配置上新的 web 后端,就能扩展站点层的性能,做到理论上的无限高并发。
服务层的水平扩展
服务层的水平扩展,是通过“服务连接池”实现的。 站点层通过 RPC-client 调用下游的服务层 RPC-server 时,RPC-client 中的连接池会建 立与下游服务多个连接,当服务成为瓶颈的时候,只要增加服务器数量,新增服务部署,在 RPC-client 处建立新的下游服务连接,就能扩展服务层性能,做到理论上的无限高并发。如 果需要优雅的进行服务层自动扩容,这里可能需要配置中心里服务自动发现功能的支持。
数据层的水平扩展
在数据量很大的情况下,数据层(缓存,数据库)涉及数据的水平扩展,将原本存储在 一台服务器上的数据(缓存,数据库)水平拆分到不同服务器上去,以达到扩充系统性能的 目的。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。