最近因为项目需要,开始做RESTFul WebApplication,其中很重要的一个技术就是URL Rewriting。 在网上搜索一番后,最终采用MSDN的URLRewriter.dll。
这个东西可配置性还是很强,允许通过正则表达式来分析请求地址,然后从中提取元素,作为QueryString 传递给真正的URL。
可以看见这个配置就是一个LookFor, 一个SendTo。很简洁。
我突然想起来也许可以通过这个来处理负载均衡。初步设想如下:
1. 假设有3台服务器,1台服务器A作为主要站点提供Web服务,另外两台B,C作为副站点提供服务。
2. 修改URLRewriter, 在拿到原始请求后,先判断A是否达到性能瓶颈,如果是,则转发请求到副站点。
3. 转发副站点时,判断哪个比较有空就转发给哪个。
我了解的负载均衡应该就是这么一个原理。这个主要有两个技术点。 一是请求转发,二是负载检测。
先考虑用虚拟机来实现转发的测试,负载检测等以后再考虑。