首页 > 其他分享 >高性能OpenResty与多级缓存架构

高性能OpenResty与多级缓存架构

时间:2023-08-16 12:34:36浏览次数:43  
标签:缓存 OpenResty nginx 多级 redis 并发 openresty

一个系统架构要支持高并发与高性能,那么必然会借助很多的资源以及中间件来共同配合实现。平时我们用的最多的是分布式缓存Redis,万金油中间件,性能很高,适用场景也很多,但是会受限与容器,springboot单个容器运行在tomcat中,而tomcat的并发也就150~200上下,可以支撑十几万并发的redis很显然在springboot应用中无法发挥到极致,哪怕多集群springboot,那么也有一定的资源开支。

而且,在微服务中,一个链路其实很长的,请求经过多个链路也会有资源性能的损耗,用户获得响应可能就有延迟,所以有时候会把请求的数据放到redis中并且前置,可以参考如下架构图。

图片描述

图中有两个网关,一个是nginx,一个是openresty,其实openresty可以自己编写业务,控制业务成为一个业务网关集群,很多查询的操作其实放入到openresty中就行了,而openresty本身就是nginx的一个扩展,性能极高,可以结合redis,也可以集合mysql,扩展性极强。目前我们自己公司的高并发业务场景都是依托的openresty,我们自己的3节点集群可以达到千万级并发,日流水也是很高,支撑的场景是没问题的,所以这里也非常推荐大家可以去学习一下,对面试对项目经验也是有极大的帮助的。

目前老师也制作了和OpenResty相关的多级缓存架构课程,有兴趣的同学可以去关注一下,涉及到的主要技术栈如下:

  • redis
  • caffeine
  • nginx
  • openresty
  • lua
  • 集群、负载均衡

有兴趣的小伙伴可以点击原文链接瞧一瞧看一看~
图片描述
https://coding.imooc.com/class/694.html

标签:缓存,OpenResty,nginx,多级,redis,并发,openresty
From: https://www.cnblogs.com/leechenxiang/p/17633698.html

相关文章

  • 优化 Redis 集群缓存分配:解决节点间分配不均导致内存溢出问题
    一、Redis集群部署简介在现代应用程序中,缓存被广泛应用以提高性能和减轻后端数据库的压力。本文将探讨面对Redis集群缓存分配不均问题时的解决方法。我们的Redis集群部署包括3主3从,每个节点分配内存4G(服务器总内存32G),内存淘汰策略相同:volatile-lru。二、问题描述在......
  • yun缓存软件包
    #!/bin/bashpackagename=$1whichyumdownloader||yuminstall-yyum-utils&>/dev/nullls/bak/pkg||mkdir-p/bakpkgyumdownloader--resolve--destdir=/bakpkg/$packagenameyum缓存软件包 CDIR="$(cd"$(dirname"$0")";......
  • Web缓存—Squid代理服务
    一、Squid的相关知识1squid的概念  Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。代理服务器是一个位于客户端和原始(资源)服务器之间的服务器,为了......
  • 缓存套餐_代码开发
            ......
  • 缓存套餐_Spring Cache _入门案例1
                    ......
  • 缓存菜品_代码开发_清理缓存数据
           ......
  • ApiPost自定义环境变量 缓存token的操作步骤
    使用场景:测试的时候获取token,然后其他请求的时候自动带token。获取Token后,执行后执行脚本,apt.variables.set("token",response.json.access_token);请求回来的参数在json中,根据需要修改这时候token就存储到环境变量中了2.使用的时候如下:......
  • Redis:高效数据存储与缓存的魔法
    在现代的应用开发中,数据的高效存储和快速访问至关重要。而Redis(RemoteDictionaryServer)正是一款闪电般快速的开源内存数据库,被广泛用于缓存、数据存储、实时分析和排行榜等场景。本文将探讨Redis的基本特性、常见应用场景以及一些最佳实践。1.Redis的核心特性内存存储:Redis将数......
  • 内存中缓存cache和缓冲buff的概念
    total总物理内存used已经使用的物理内存free没有使用过的物理内存shared多进程共享内存buff/cache读写缓存内存,这部分内存是当空闲来用的,当free内存不足时,linux内核会将此内存释放buff缓冲 为了提高操作系统的写能力cache缓存  为了提高操作系统的读能力Linux操作系......
  • mybatis缓存
    一级缓存一级缓存是同一session内缓存,随着session的关闭而被清除。先看下效果Stringresource="mybatis-config.xml";SqlSessionFactorysessionFactory=newSqlSessionFactoryBuilder().build(Resources.getResourceAsStream(resource));SqlSes......