应用层面的均衡负载

来源:互联网 发布:oracle表数据恢复 编辑:程序博客网 时间:2024/06/06 00:33

均衡负载技术,可以让网站使用多个服务器来统一提供服务,以应对巨大的访问量。

均衡负载技术的核心在于分离状态,让不同的服务器提供无差别的服务。

应用层面是有状态,他的状态就是session,通过分离session,使得可以任意增删服务器来分化压力。

有两个方式可以分离session:

1 拷贝session

每个应用服务器本地都保存全部session的拷贝,每添加一台服务器就需要拷贝相应的session,但是在大量在线用户的情况下,会导致内存耗尽,因此session层面的难扩展性,也会导致应用服务器难以扩展。

2 分割session

每个应用服务器本地只保存部分的session,同一个session/用户的多次请求都交由同一个服务器来处理。其关键在于session的路由算法,就是怎么根据session_id来确定服务器,可以使用简单哈希算法。但新增服务器导致大量的路由失效,从而导致访问峰值,可考虑使用一致性哈希算法。

3 共享session

将session的保存独立开来,如保存在数据库或缓存中,为所有的服务器提供共享的session。由于session独立,因此可以随意添加应用服务器而无需额外的处理(如1的拷贝session,2的处理session失效)

0 0