Upsync动态流量管理方案
Upsync,微博开源基于Nginx容器动态流量管理方案 。
Nginx 以其超高的性能与稳定性,在业界获得了广泛的使用,微博的七层就大量使用了 Nginx 。结合 Nginx 的健康检查模块,以及动态 reload 机制,可以近乎无损的服务的升级上线与扩容。这个时候扩容的频次比较低,大多数情况下是有计划的扩容。
Upsync,开发了模块 nginx-upsync-module,它的功能是拉取 consul 的后端 server 的列表,并更新 Nginx 的路由信息。此模块不依赖于任何第三方模块。consul 作为 Nginx 的 db,利用 consul 的 KV 服务,每个 Nginx work 进程独立的去拉取各个 upstream 的配置,并更新各自的路由。
流程图如下:
应用案例:
模块已经应用在微博的各类业务中,下面图表对比分析使用模块前后的 QPS 与耗时变化。
从数据可以得出,reload 操作时造成 nginx 的请求处理能力下降约 10%,Nginx 本身的耗时会增长 50%+。若是频繁的扩容缩容,reload 操作造成的开销会更加明显。
官方商业版对 Nginx plus 支持了 DNS 与 push 版本提供了支持。
在使用过程中因为数据一致性等问题,扩展支持了基于 consul 的 pull 版本。
评论
dynamicForm动态表单管理
dynamicForm是由IanAshcroft开发的,是一款很棒的jQuery插件,用来管理部分的动态表单(包括表单字段)。在线演示
dynamicForm动态表单管理
0
DynamicCocoa滴滴 iOS 动态化方案
DynamicCocoa,是滴滴App架构组自研的iOS动态化方案,可以让现有的Objective-C代码转换生成中间代码(JS),下发后动态执行。滴滴客户端App架构团队表示正在积极准备相关事项,计
DynamicCocoa滴滴 iOS 动态化方案
0
Panabit应用层流量管理系统
Panabit是目前国内开放度最高、免费、专业的应用层流量管理系统,特别针对P2P应用的识别与控制,截止2009年02月12日,已经支持实际主流应用200种以上,并以两周更新一次特征库的速度持续更新(
Panabit应用层流量管理系统
0