原文:https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/84750500
反向代理层有什么用?架构实现时要注意什么?
- 作为服务端统一入口,屏蔽后端WEB集群细节,代表整个WEB集群;
- 保证WEB集群的扩展性,Nginx后端可随时加WEB实例;
- 实施负载均衡,反向代理层会将请求均匀分发给后端WEB集群的每一个实例;
- 保证WEB集群的高可用,任何一个WEB实例挂了,服务都不受影响;
- 注意自身高可用,防止一台Nginx挂了,服务端统一入口受影响;
反向代理层还存在啥问题?
反向代理层自身的扩展性问题并没有得到很好的解决,例如当Nginx成为系统瓶颈的时候,无法扩容。
DNS轮询如何解决反向代理层的扩展性问题?
通过在DNS-server上对一个域名设置多个IP解析,能够增加入口Nginx实例个数,起到水平扩容的作用,解决反向代理层的扩展性问题。
因此,反向代理和DNS轮询并不是互斥的技术。
总结
- 接入层架构要考虑的问题域为:高可用、扩展性、反向代理、负载均衡;
- Nginx、keepalived、lvs、f5可以很好的解决高可用、扩展性、反向代理、负载均衡的问题;
- 水平扩展scale out是解决扩展性问题的根本方案,DNS轮询是不能完全被Nginx/lvs/f5所替代的;