读书笔记——

【技术博客】“反向代理层”绝不能替代“DNS轮询”!

作者:架构师之路

原文:https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/84750500

反向代理层有什么用?架构实现时要注意什么?

  1. 作为服务端统一入口,屏蔽后端WEB集群细节,代表整个WEB集群;
  2. 保证WEB集群的扩展性,Nginx后端可随时加WEB实例;
  3. 实施负载均衡,反向代理层会将请求均匀分发给后端WEB集群的每一个实例;
  4. 保证WEB集群的高可用,任何一个WEB实例挂了,服务都不受影响;
  5. 注意自身高可用,防止一台Nginx挂了,服务端统一入口受影响;

反向代理层还存在啥问题?

反向代理层自身的扩展性问题并没有得到很好的解决,例如当Nginx成为系统瓶颈的时候,无法扩容。

DNS轮询如何解决反向代理层的扩展性问题?

通过在DNS-server上对一个域名设置多个IP解析,能够增加入口Nginx实例个数,起到水平扩容的作用,解决反向代理层的扩展性问题。

因此,反向代理和DNS轮询并不是互斥的技术。

总结

  1. 接入层架构要考虑的问题域为:高可用、扩展性、反向代理、负载均衡
  2. Nginx、keepalived、lvs、f5可以很好的解决高可用、扩展性、反向代理、负载均衡的问题;
  3. 水平扩展scale out是解决扩展性问题的根本方案,DNS轮询是不能完全被Nginx/lvs/f5所替代的;