Windows下做7层软负载方案分析
2010-06-25 00:00:00 来源:WEB开发网2. 7层软负载做双击热备,7层软负载直接接入外网,正常情况下由主服务器处理请求,如果主服务器宕机,备份服务器发现后,通过ARP欺骗获取主服务器原有 IP,以把请求吸引到备份服务器上处理(硬件如果支持可能可以考虑主备机共享一个MAC地址),主备切换时可能会造成短时请求失败的现象。
综合考虑,第二个方案有些山寨和不保险,优先考虑第一个方案。
单元测试
场景设计:
比如一个获取用户头像的请求,用户的头像存放在多台DB里,并由多个web服务器(webserver1,webserver2)缓存头像并根据用户的HTTP请求返回给客户端用户头像,由于web服务器缓存了用户头像,是有状态服务,所以HTTP请求里要带userid参数,7层负载根据 userid做哈希后把请求路由给缓存该userid对应用户头像的web服务器。
请求格式:
GET /getportrait.aspx?userid={userid}
其中{userid}是Int32类型,路由算法是{userid} mod 2 = 0的话路由给webserver1 ,{userid} mod 2 = 1的话路由给webserver2
应答格式:
200 OK HTTP1.0
Content-Length:5
Content-Type:text/txt
<CLRF>
{userportrait}
其中为了测试方便{userportrait}为文本格式,就是webserver本身的机器名字
测试用例:
请求GET /getportrait.aspx?userid=1111,预期返回应答webserver2
请求GET /getportrait.aspx?userid=2222,预期返回应答webserver1
具体测试userid可随机生成整数,并根据是否可被2整除对应答进行预期。
性能测试
测试准备:
两台物理机RealServer1和RealServer2,一台软负载机器SoftProxy,两台测试机TestClient1,TestClient2。
更多精彩
赞助商链接