1: 学习负载均衡原理的背景:
去年低, 在新版软件以及服务器系统刚上线时, 客户端会经常出现断开连接的情况, 引来客户的极多抱怨. 其主要原因是, 服务器在重启, 客户端与服务器之间的连接断开, 客户端在几次重连失败之后认为服务器down机, 弹出连接断开标记. 这种处理的方式极其不友好, 用户体验极差. 后来在技术总监的安排下, 在客户端与后台服务器之间添加了一个Agent的程序, 用Agent来实现负载均衡, 其原理是: Agent保持着一个与后台服务器之间的连接, 定时请求后台服务器的负载情况, 并记录后台服务器的负载. 户端向Agent请求服务器地址, 然后Agent根据后台服务器的负载情况, 选择负载最小的地址给客户端, 客户端再与真正的后台服务器之间建立连接. 通过这个修改, 客户体验已上了一个档次, 即使我在后台重启服务器, 客户端也感觉不出来. 当时用该方法实现之后, 也较为满意. 只知道这个东东叫做"负载均衡".
今年3月份时, 公司与新浪合作, 在新浪财经网页发布我们的flash客户端. 当时最感兴趣的一个点就是如何做负载均衡才能更好的对客户服务. 咨询了负责该项目的人之后, 了解到前端有F5做硬件的负载均衡, 后面再使用nginx反向代理.
4月23号, 参加了QConn会议, 听取了一些国内外大型网站的框架之后, 才决定好好补充一下负载均衡方面的基础知识.
2: 引入负载均衡的背景
随着应用以及需求的不断发展, 我们有两个方向可以去处理极速增加的数据量:
1): 增加单机可以处理数据的能力