我们对框架功能作了简述,演示视频请点击 这里查看 ,

本章节,我们专门讲解一下,如何在Window服务器下,设计高可用的框架。

我们的框架设计采用的是Window版本的服务端设计:

整体框架图如下,

为什么我们需要如此设计?

本文仅简述NLB与ARR的利与弊,更多技术文章往后推出。

我们引入NLB,相对于ARR来说,ARR是应用级别的负载均衡方案,ARR只能做请求入口的分发服务,而NLB则是服务器级别的负载均衡方案

如果微软的这两款方案我们结合起来使用,即可搭建高可用网站方案。

Application Request Route与NLB高可用方案的演进

1、Application Request Route方案,如下图

缺点:

ARR可以检测到你的iis应用是否可用,并对用户的请求实施负载均衡方案,根据我们配置的负载均衡算法,把用户的请求分发到应用服务器中。

但是,如果我们的ARR服务器down掉之后,我们的整个应用程序就无法使用,达不到24*7用不宕机的高可用要求。

2、NLB的网路负载平衡方案

缺点:

NLB可以最多可以配置32台服务器,这32台服务器通过拥有自己的独立ip之外,还共有一个虚拟IP,用户访问虚拟ip,nlb集群根据配置的负载算法来确定把用户的请求分发给那台应用服务器,如果一台NLB服务器down掉,则不会影响消息的分发可达到7*24小时不down机的高可用方案。

但是,NLB不能检测应用你的iis网站是否down掉,只能检测服务器是否down掉,这样一来,如果你的iis网站已经停止啦,nlb还给分发用户请求,那样麻烦可就来啦。

那么我们使用微软的技术怎么样做到网站的高可用呢?对,就是NLB+Application Request Route .

3、NLB+Application Request Route 方案

优点:用户请求虚拟ip,接入nlb,nlb检测一台可用的服务器,请求转发给arr,arr检测可用的网站把用户请求给分派处理,形成高可用方案。

框架设计预研中,灵感来源参考文献:https://cnblogs.com/knowledgesea/p/5157565.html

经过综合分析后,我们最终采用了NLB+ARR的结合,形成如下设计图

对于此框架的设计(优点与缺点),元芳,您怎么看?欢迎留言吐槽。

  我们学的不仅是框架,更是梦想!更多文章,请查看www.letyouknow.net

.NET开发框架(三)-高可用服务器端设计相关推荐

  1. ngrok服务器搭建 window_.NET开发框架(三)高可用服务器端设计

    我们对框架功能作了简述,演示视频请点击 这里查看 , 本章节,我们专门讲解一下,如何在Window服务器下,设计高可用的框架. 我们的框架设计采用的是Window版本的服务端设计: 整体框架图如下, ...

  2. mysql性能结构优化原理_MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化...

    一.数据库结构优化(非常重要) 1.1 数据库结构优化目的 1.减少数据冗余:(数据冗余是指在数据库中存在相同的数据,或者某些数据可以由其他数据计算得到),注意,尽量减少不代表完全避免数据冗余: 2. ...

  3. 云原生时代微服务的高可用架构设计

    简介: 在8月20日"阿里巴巴技术质量精品课"上,来自蚂蚁的经国分享了对云原生时代微服务的高可用架构设计的全面解析,为大家介绍了应用架构演进路径.云原生时代的技术福利.高可用架构的 ...

  4. 蚂蚁金服资深技术专家经国:云原生时代微服务的高可用架构设计

    经国 蚂蚁金服数字金融线担任技术风险架构师 读完需要 15 分钟 速读仅需 5 分钟 经国,蚂蚁金服资深技术专家,毕业于浙江大学. 2014 年加入蚂蚁金服,先后负责过支付宝的单元化.弹性.去 ORA ...

  5. 面向业务的立体化高可用架构设计

    通常情况下我们在谈论高可用架构设计的时候,主要关注的是系统结构的高可用,例如主备架构.集群架构.多中心架构.我们做架构设计的时候,也主要是从系统结构本身出发,例如我们把单机改为双机.双机改为集群.单机 ...

  6. 第5章 MySQL高可用架构设计

    第5章 MySQL高可用架构设计 数据库复制 复制解决了什么问题????? 非共享架构 二进制日志 binlog工具 查看日志格式 show variables like "binlog_f ...

  7. 高可用服务设计之二:Rate limiting 限流与降级

    <高可用服务设计之二:Rate limiting 限流与降级> <nginx限制请求之一:(ngx_http_limit_conn_module)模块> <nginx限制 ...

  8. 高并发、高性能下的 会员系统[同程艺龙] — 高可用架构设计实践

    目录 会员系统[同程艺龙] - 高可用架构设计实践 ES高可用方案 ES双中心主备集群架构 ES流量隔离三集群架构 ES集群深度优化提升 会员Redis缓存方案 Redis双中心多集群架构 高可用会员 ...

  9. ef mysql 优化_MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化...

    一.数据库结构优化(非常重要) 1.1 数据库结构优化目的 1.减少数据冗余:(数据冗余是指在数据库中存在相同的数据,或者某些数据可以由其他数据计算得到),注意,尽量减少不代表完全避免数据冗余: 2. ...

最新文章

  1. 在python中terminal中建立mysql数据库,无法再models.py 文件中建立数据库信息
  2. VTK:PolyData之PointNormals
  3. 476. 数字的补数
  4. 第二阶段冲刺10天 第六天
  5. QT pro文件 Win/Linux跨平台写法
  6. 浙江新华书店的数字化新尝试
  7. 史上最全的程序员常用英语词汇 珍藏版
  8. 协议:GRE;collisions
  9. elasticsearch最大节点数_记录 Elasticsearch 的 maximum shards open 问题
  10. Vistual Studio Community 2017 30天许可证过期
  11. 103000大写加零吗_103000怎样大写不写零
  12. dell跳过开机硬件检测,戴尔台式电脑自带硬件诊断程序进行硬件检测
  13. haster、setattr、getattr的区别
  14. java毕业设计——基于java+jsp+Servlet的B2C网上拍卖系统设计与实现(毕业论文+程序源码)——网上拍卖系统
  15. UCAS计算机网络实验
  16. 【XLA】一、【构图阶段】图优化器的注册和执行
  17. linux emule 编译 wx-config --libs,如何编译 eMule v0.46b
  18. Dubbo 2 Dubbo 概述 2.1 Dubbo 概念 2.2 Dubbo 架构
  19. 华夏基金X袋鼠云:基金业数字化转型,为什么说用户才是解题答案?
  20. [FineReport]图表运用之-世界地图

热门文章

  1. mysql interval 3 day_Mysql之INTERVAL与DATE_SUB与EXTRACT函数的使用
  2. chrome 网页重新加载_在Chrome中为各个网页设置自定义重新加载时间
  3. 知物由学 | 干货!一文了解安卓APP逆向分析与保护机制
  4. 解决笔记本重装问题(VISTA系统改为XP系统)
  5. 20150203一些移动端H5小bug解决
  6. 重学数据结构004——栈的基本操作及实现(数组实现)
  7. 关于C3P0容错和自动重连特性的研究
  8. 仿豆丁百度文库网页版阅读器完整解决方案
  9. 我将 20 年前开发的操作系统迁移到 .NET 6,竟然成功了!
  10. c#使用PdfiumViewer展示、打印pdf文档