最新文章
|
知识管理交流
→『 技术文档交流 』
本版文数:9890 今日文数:4397
|
消息队列是大型高并发架构的核心,也是大厂重点考察的对象,下面我就全面来详解消息队列。消息队列消息队列,全称是:“MessageQueue”,很多时候我们也简称为:“MQ”,本质就是一个保存消息的队列。如下图所示:允许不同的应用程序通过发送、和接收消息进行数据交换,从而实现系统解耦、提高系统可扩展性、和性能。主要解决以下...
![]() |
消息中间件是高并发架构的基石,之前谈过了RocketMQ和Kafka,今天接着详解RabbitMQ消息中间件@mikechenRabbitMQRabbitMQ是一款使用Erlang语言开发的,实现了高级消息队列协议(AMQP)的开源消息中间件。AMQP,即AdvancedMessageQueuingProtocol,高...
![]() |
在很多阿里双11高并发场景经常提到QPS、TPS、RT、吞吐量等指标,这些高并发高性能指标都是什么含义?如何来计算?下面我一一详解@mikechen系统吞度量系统吞吐量指的是系统在单位时间内可处理的事务的数量,是用于衡量系统性能的重要指标。例如在网络领域,某网络的系统吞吐量指的是单位时间内通过该网络成功传递的消息包数量...
![]() |
分库分表是大型架构的必备技能,也是大厂经常考察的重点对象,下面我就全面来详解分库分表中间件@mikechen最新mikechen原创超30万字《阿里架构师进阶专题合集》和《大厂最全面试题及答案合集》,请关注本公众号【mikechen的互联网架构】,后台回复:合集,即可领取。分库分表分库分表:是数据库水平扩展的一种常见策...
![]() |
在高并发场景下,数据主从同步是必然的方式,除了数据库主从同步外,还会涉及到分布式环境下的数据同步。今天分享数据库主从同步解决方案。数据主从同步的由来互联网的很多业务,特别是在高并发的场景下,基本都是读远远大于写,如果数据库读和写的压力都同在一台主机上,这显然不太合理。于是,把一台数据库主机分为单独的一台写主库(主要负责...
![]() |
本篇就接着来谈Redis在高并发的场景,如何来解决并发竞争Key的解决方案。01—并发竞争的由来1.Redis高并发的问题Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题:缓存击穿、缓存雪崩、缓存和数据一致性,以及今天要谈到的缓存并发竞争。这里的并发指的是多个redis的cli...
|
缓存雪崩、缓存穿透、缓存并发等这些问题除了大厂面试经常问,还有我们实际的工作中也会经常遇到以上并发场景,本篇一一来详解@mikechen01—缓存雪崩数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。比如一个雪崩的简单过程:1、redis集群大面积...
![]() |
在高并发业务场景下,典型的阿里双11秒杀等业务,消息队列中间件在流量削峰、解耦上有不可替代的作用。今天我们一起来探讨:全量的消息队列究竟有哪些?Kafka、RocketMQ、RabbitMQ的优劣势比较;以及消息队列的选型;一、最全MQ消息队列有哪些那么目前在业界有哪些比较知名的消息引擎呢?如下图所示:这里面几乎完全列...
![]() |
1Nginx核心Nginx是一个开源的高性能HTTP和反向代理服务器,以轻量级、高并发处理能力和低资源消耗著称。除作为Web服务器外,还可充当邮件代理服务器和通用的TCP/UDP代理服务器,广泛应用于现代Web架构中。在Windows系统中使用Nginx时,命令行操作与类Unix系统存在差异,以下是基本操作:1.1环境...
|
ngx_http_stub_status_module模块ngx_http_stub_status_module模块提供对连接状态信息的监控,默认安装未包含此模块。检查是否安装了ngx_http_stub_status_module块使用/usr/local/nginx/sbin/nginx-V命令,这里/usr/lo...
|
服务器相关$server_addr:服务器地址$server_name:虚拟主机名(server_name指令的配置)$server_port:服务器端口$document_root:root或alias命令配置的路径,可能是软链接。$realpath_root:当前请求对应到的真实路径,绝对路径。$request_f...
|
一、下载安装文件1.下载程序cd/optwgethttps://github.com/LuaJIT/LuaJIT/archive/refs/tags/v2.0.5.tar.gz-Oluajit-v2.0.5.tar.gzwgethttps://github.com/simpl/ngx_devel_kit/archive...
![]() |
一、防火墙配置参考nginx配置lua防火墙二、准备演示环境1.前端演示页面<html><head><title>登陆</title><metacharset=utf-8></head><body><div>用户名:<inputtype=textname=userid=txtUser>
密码:<inputtype=p...
|
1.401,身份证认证未通过配置身份认证server}未登陆,返回4012.403,没有访问权限,一般是由代理服务返回的3.404,请求的资源不存在server请求/images/2.jpg,对应的images/目录下没有这个文件,返回4044.413,请求体大小超出限制location/upload上传文件超过cli...
![]() |
代理配置通过nginx配置正向代理,配置方法与反向代理相同。区别仅在于对客户端来说,1)反向代理:客户端不清楚自己访问的是代理,不清楚真正响应请求的是哪台机器。2)正向代理:客户端清楚自己访问的是代理,客户端不能访问真正的目标机器,主动去找代理,通过中间代理实现对真正目标服务的访问。例如,客户端不能直接访问192.16...
|
配置HTTP/1.1协议中Upgrade机制可以将http升级到WebSocket,实现客户端与服务端的双向通讯。客户端需要升级协议时在请求头包含Upgrade、Connection字段。如果服务端同意升级连接,就会返回101状态码和一个Upgrade标头字段,Upgrade字段内容为要切换到的协议。如果服务器不能升级...
|
ngx_http_sub_module模块可以通过字符串替换的方式修改响应体内容。默认未安装,需要在configure阶段指定--with-http_sub_module参数。sub_filter指令用于替换响应内容,语法格式为sub_filterstringreplacement,string表示被替换内容,repl...
![]() |
ngx_http_limit_req_modulengx_http_limit_req_module模块按照定义的key值限制请求处理速率,特别是对来自单个IP请求的速率限制。limit_req_zone指令按key设置一块共享内存存储状态信息、超限请求数量;key可以包含文本、变量、文本和变量的组合。如果请求中的ke...
![]() |
ngx_http_limit_conn_module模块1.ngx_http_limit_conn_module模块根据设置的键值来限制连接数量,如:根据配置的IP地址来限制连接数量。2.只有正在被服务器处理并且请求头已经被读取的连接才会被计算成限制的数量。limit_conn_zone指令1.设置一块内存区域,存储键...
|
控制浏览器缓存时间server}反向代理缓存设置upstreamapi_proxy#proxy_cache_path:设置缓存保存的目录的位置#keys_zone:设置共享内以及占用的空间大小#mas_size:设置缓存最大空间#inactive:缓存过期时间,错过此时间自动清理#use_temp_path:关闭零时目...
|
nginx中ngx_http_access_module模块能够按客户端地址设置是否有访问权限。allow指令设置允许访问的IP或网络,如allow172.17.0.8;、allow172.17.0.0/16;deny指令设置限制访问的IP或网络,如deny172.17.0.8;、deny172.17.0.0/16;a...
![]() |
在网站上嵌入别的网站上的图片链接、显示这些图片,就是盗链。这些图片在自己的网站上显示,占用的却是别的服务器的资源和宽带。http协议头中的Referer字段表示当前请求是从哪个网站链接过来的,服务器通过Referer能够了解请求来源。nginx的valid_referers指令能够定义合法Referer来源。nginx...
|
配置文件位置nginx安装时设置的的prefix参数指定了nginx程序目录,如果程序目录默认为/usr/local/nginx,那么配置文件默认为/usr/local/nginx/conf/nginx.conf。nginx-t命令能够查看配置文件位置。配置文件结构单行注释以#开头。如#usernobody;。简单指令...
|
^匹配一行开头nginx配置#^测试location~^/imgs测试###ngxinx响应:匹配/imgs开头的正则表达式GEThttp://localhost:85/imgs/123$匹配一行结尾nginx配置#$测试location~\.js$测试###ngxinx响应:匹配js文件GEThttp://local...
|
匹配规则精确匹配,以=开头。如:location=/index.html普通匹配,没有任何修饰符。如:location/images/正则匹配,以~开头,~表示区分大小写,~*表示不区分大小写。如:location~\.js$location~*\.jpg$前缀匹配,以^~开头,如location^~/images/匹...
|