加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Nginx多进程高并发、低时延、高可靠机制在缓存twemproxy代理中的应用

发布时间:2019-03-17 09:36:30 所属栏目:建站 来源:y123456yz
导读:1. 开拓配景 现有开源缓存署理中间件有twemproxy、codis等,个中twemproxy为单历程单线程模子,只支持memcache单机版和redis单机版,都不支持集群版成果。 因为twemproxy无法操作多核特征,因此机能低下,短毗连QPS约莫为3W,长毗连QPS约莫为13W,同时某些

原生twemproxy节点呆板上的时延漫衍:

Nginx多历程高并发、低时延、高靠得住机制在缓存twemproxy署理中的应用 

另一个改革后的twemproxy节点呆板上的时延漫衍:

总结:替代线上两个proxy中的一个后,客户端时刻低落了一倍,假如线上集群两个署理都替代为改革后的twemproxy,客户端监控时延估量会再低落一倍,总体时延低落3倍阁下。

另外,从监控可以看出,改革后的twemproxy时延更低,越发不变,无任何颠簸。

6.2 参考nginx多历程改革后的twemproxy线下压测功效(开启reuseport成果)

监听统一个端口,数据长度100字节,压测功效如下:

linux内核版本:linux-3.10

物理机机型: M10(48 cpu)

多历程监听统一个端口,数据长度150字节,压测功效如下:

linux内核版本:linux-3.10

物理机机型: TS60 (24 cpu)

7 总结

7.1 多历程、多线程机制选择

选择参照nginx多历程机制,而不选择多线程实现缘故起因首要有:

1) 多历程机制无锁操纵,实现更轻易

2) 多历程的署理,整个worker历程无任何锁操纵,机能更好

3) 假如是多线程方法,假如代码呈现bug段错误,则整个历程挂掉,整个处事不行用。而假如是多历程方法,由于bug触发某个worker历程段错误非常,其他事变历程不会受到怎样影响,20个worker历程,假如触发非常,统一时候只有有1/20的流量受到影响。而假如是多线程模式,则100%的流量会受到影响。

4) worker历程非常退出后,master历程立马感知拉起一个新历程提供处事,靠得住性更高。

5) 设置热加载、措施热进级成果实现越发轻易

7.2 参照nginx改革后的twemproxy特征

支持nginx险些全部的优越特征,同时也按照本身现实环境新增进了自有特征:

1) master+多worker历程机制

2) 适配全部linux内核版本,内核低版本惊群题目停止支持

3) quic_ack支持

4) reuser_port适配支持

5) worker历程非常,master历程自动拉起成果支持

6) 90%、95%、98%、100%均匀时延统计成果支持

7) memcache单机版、集群版支持

8) redis单机版、集群版支持

9) 二进制协议、文本协议同时支持

10) redis、memcache集群在线扩容、缩容、数据迁徙支持,扩缩容、数据迁徙进程对营业无任何影响。

11) 多租户支持,一个署理可以接多个memcache、redis集群,并支持混部。

12) mget、gets、sets等批量处理赏罚呼吁优化处理赏罚

13) 慢相应日记记录成果支持

14) 内存参数及时修改支持

15) 具体的集群监控统计成果

16) CPU亲缘性自添加

17)内存设置动态及时修改

7.3后期打算

添加如下成果:

i) 设置文件热加载支持。

ii) 代码热进级成果支持。

7.4 久远筹划瞻望

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读