负载及解耦结构_负载及解耦结构设计

负载及解耦结构_负载及解耦结构设计

经验文章nimo972025-02-06 11:37:058A+A-

智能路由-gtm-lvs-nginx-haproxy-rs

nginx 装有ssl 硬件加速卡

目前ssl硬件加速卡中支持nginx

GTM负责外网的负载均衡,比如北京的用户访问被分配到北京的数据中心,南京的用户访问被分配到深圳的数据中心。

LTM负责内网的负载均衡,比如一个用户访问进来,由LTM负责具体分配到哪个服务器来处理

LTM就是本地流量管理,也就是通常所说的服务器负载均衡。可以将多个提供相同服务的设备(pool)虚拟成一个逻辑设备,供用户访问。也就是说,对于用户来讲,看到的只有一个设备,而实际上用户是服务请求是在多个设备之间,通过负载均衡算法分担的。通常可以理解为是一种代理的模式。

GTM是广域网流量管理,也可以称为全局负载均衡。这个模块可以满足用户更高的负载均衡要求,提供不同站点间全局资源的调配。比如说,用户在北京和上海分别有一个web服务器群(pool),都是提供同样的页面,那么当上海的web服务器负担过重或者宕机时,就可以将流量重定向到北京

GTM:global-traffic-manager广域网流量管理




高并发

同时并行处理很多请求

标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等

响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间

吞吐量:单位时间内处理的请求数量

QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显

并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数


高可用

解耦神器:MQ

将数据放入MQ,由消费者异步去处理后续的复杂业务逻辑,这样可以大大提高请求响应速度,提升用户体验

库存扣减

使用Redis来做库存扣减

限流

用户体验

当应用达到限流值时,需要给用户更好的提示和引导

nginx做限流设置可以使用Lua+Redis配合来实现;应用内限流可以使用RateLimiter来做

缓存

CDN

前端缓存

缓存穿透

缓存雪崩

无状态

无状态应用,便于水平扩展

有状态配置可通过配置中心实现无状态

2.并发测试工具:

Apache JMeterVisual Studio性能负载测试Microsoft Web Application Stress Tool



设计这块业务的时候就会使用消息队列的,可以将参与用户的信息添加到消息队列中,然后再写个多线程程序去消耗队列,给队列中的用户发放红包

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7