咱们对框架功能做了简述,演示视频请点击 这里查看 ,若须要查看更多此框架的技术文章,请关注.NET框架学苑公众号!html
本章节,咱们专门讲解一下,如何在Window服务器下,设计高可用的框架。算法
咱们的框架设计采用的是Window版本的服务端设计:服务器
总体框架图以下,负载均衡
为何咱们须要如此设计?框架
本文仅简述NLB与ARR的利与弊,更多技术文章日后推出。ide
咱们引入NLB,相对于ARR来讲,ARR是应用级别的负载均衡方案,ARR只能作请求入口的分发服务,而NLB则是服务器级别的负载均衡方案。网站
若是微软的这两款方案咱们结合起来使用,便可搭建高可用网站方案。.net
Application Request Route与NLB高可用方案的演进设计
一、Application Request Route方案,以下图视频
缺点:
ARR能够检测到你的iis应用是否可用,并对用户的请求实施负载均衡方案,根据咱们配置的负载均衡算法,把用户的请求分发到应用服务器中。
可是,若是咱们的ARR服务器down掉以后,咱们的整个应用程序就没法使用,达不到24*7用不宕机的高可用要求。
二、NLB的网路负载平衡方案
缺点:
NLB能够最多能够配置32台服务器,这32台服务器经过拥有本身的独立ip以外,还共有一个虚拟IP,用户访问虚拟ip,nlb集群根据配置的负载算法来肯定把用户的请求分发给那台应用服务器,若是一台NLB服务器down掉,则不会影响消息的分发可达到7*24小时不down机的高可用方案。
可是,NLB不能检测应用你的iis网站是否down掉,只能检测服务器是否down掉,这样一来,若是你的iis网站已经中止啦,nlb还给分发用户请求,那样麻烦可就来啦。
那么咱们使用微软的技术怎么样作到网站的高可用呢?对,就是NLB+Application Request Route .
三、NLB+Application Request Route 方案
优势:用户请求虚拟ip,接入nlb,nlb检测一台可用的服务器,请求转发给arr,arr检测可用的网站把用户请求给分派处理,造成高可用方案。
框架设计预研中,灵感来源参考文献:https://cnblogs.com/knowledgesea/p/5157565.html
通过综合分析后,咱们最终采用了NLB+ARR的结合,造成以下设计图
对于此框架的设计(优势与缺点),元芳,您怎么看?欢迎扫右上方二维码,关注公众号,留言吐槽。