常用中间件合集

【国产化信创实践】THS(TongHttpServer)中间件Nginx替代性能对比 2)当进程数都为8时,并发量小于10000时,THS与Nginx(进程数为8)性能差不多;1.本场景主要对比为THS和nginx都部署了同样的前端静态工程的情况下,做前端页面请求压力测试对比响应时间。1.本场景主要对比ths和nginx反向代理同一后端服务,做服务调用的压力测试对比响应时间。总结: 1)随着进程数增大,TongHttpServer相对而言响应减慢;2)作为应用容器来说,默认参数下ths与nginx相差不大;总结:1)THS随着进程数加大,响应时间越来越快;4.启动,进入bin目录,执行。 阅读详情

简介

在游戏或者web服务器开发过程中 难免会使用一些中间件 正所谓有现成的 就没必要重复造轮子了

以下大概介绍下常用的中间件nginx etcd nats docker k8s

nginx

简介

Nginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发

事件处理机制:异步非阻塞事件处理机制:运用了epoll模型,提供了一个队列,排队解决

Nginx 的核心特性

  1. ​高并发处理

    • 支持高达 ​50,000 个并发连接,通过 ​Master-Worker 进程模型 实现:
      • ​Master 进程:负责管理 Worker 进程,接收信号并监控状态
      • ​Worker 进程:单线程异步非阻塞处理请求,采用 ​epoll(Linux)​ 或 ​kqueue(BSD)​ 多路复用技术,显著提升并发能力
    • 单台物理服务器可支持 ​30,000~50,000 个并发请求,内存占用仅约 2.5MB(10,000 个空闲连接)
  2. ​功能扩展性

    • 支持 ​模块化设计,可扩展反向代理、负载均衡、静态资源托管、SSL 加密等功能
    • 提供 ​动静分离、Gzip 压缩、URL 重写等优化策略
  3. ​稳定性与易用性

    • 支持 7×24 小时运行,支持热部署和在线升级
    • 配置文件简洁,支持 Perl 语法


​Nginx 的并发处理机制

  1. ​异步非阻塞模型

    • Worker 进程通过事件驱动(如 epoll)处理请求,避免线程/进程切换开销
    • 示例流程:
      • 客户端请求 → Worker 进程接收 → 异步处理(如反向代理)→ 回调通知结果 → 响应客户端

  2. ​负载均衡策略

    • 内置 ​轮询(Round Robin)​、加权轮询、IP 哈希 等算法,支持扩展自定义策略
    • 结合 ​反向代理 隐藏后端服务器 IP,提升安全性
  3. ​静态资源优化

    • 直接托管 HTML、CSS、JS 等静态文件,减少后端服务压力
    • 支持缓存控制、Gzip 压缩,提升传输效率

架构

Nginx 的架构通过 ​多进程模型 分离控制与处理逻辑,结合 ​事件驱动和非阻塞 I/O 实现高并发,同时依赖模块化设计提供灵活的功能扩展。这种设计使其能够支持数万并发连接,成为 Web 服务、反向代理和负载均衡的首选

​核心架构:Master-Worker 进程模型

  1. ​Master 进程

    • ​职责:
      • 管理 Worker 进程的生命周期(启动、监控、重启)
      • 解析配置文件并验证语法
      • 接收外部信号(如 reload、stop)并分发给 Worker 进程
    • ​特点:单进程,稳定性高,不直接处理请求
  2. ​Worker 进程

    • ​职责:
      • 实际处理客户端请求(如 HTTP 请求、反向代理)
      • 通过 ​事件驱动模型 非阻塞地处理多个并发连接
    • ​特点:
      • 数量通常与 CPU 核心数一致,以充分利用多核性能
      • 单线程设计,避免多线程上下文切换开销

可以多个workder监听同个端口

同个worder也可以监听多个端口

配置

upstream backend {
    server server1 weight=3;
    server server2 weight=2;
    server server3;
}

server {
    listen 80;
    server_name example.com;
    
    location / {
        proxy_pass http://backend;
    }
}

location匹配

正则表达式

最全的常用正则表达式_正则表达式[^0-9]-优快云博客

负载均衡

etcd

简介

TCD是SoreOs公司发布的一个分布式的、高可用的、key-value存储的数据库。基于Go语言实现,k8s中也使用了ETCD作为数据库。主要用于共享配置和服务发现。相对于zookeeper采用的Paxos,ETCD采用的是Raft算法,该算法具备的性能更佳、数据一致性强等优点。

raft

超过半数同意就算成功

选举

每 100msleader会向follower发起心跳包     然后follower就会刷新等待时间

如果follower收不到心跳包就会升级会候选者    自身的版本号就会+1 然后向其他节点发起投票申请 

其他节点收到投票申请后 判断版本号大于等于自己 且index也比自身大 就可以去投票

当一个节点得到一半以上的票数就升级为leader

读操作

读操作默认是线性读 会去请求raft模块的index跟当前节点比 如果index比当前节点大就等待直到同步了数据才返回   如果index和当前节点相同则直接读数据

写操作

写操作只能给leader节点 然后通过raft 得到半数以上的节点回应就可以持久化 并更新index

Nats

简介

NATS 作为一款专注于高性能和轻量级的消息队列系统,其核心设计围绕 ​实时通信 和 ​云原生架构 展开

  • ​无持久化存储

    • 默认情况下,NATS 是内存消息队列,消息仅存储在内存中。若服务器崩溃或重启,未消费的消息会丢失
    • ​适用场景:对实时性要求极高、允许短暂消息丢失的场景(如高频交易信号传递)。
  • ​消息确认机制

    • NATS 支持订阅者显式确认(ACK)消息,若未收到 ACK,消息会自动重传​(默认 3 次)
    • ​局限性:若订阅者未正确发送 ACK(如程序崩溃),可能导致消息重复消费
发布-订阅(Pub/Sub)​
  • ​广播式分发:发布者(Publisher)向指定主题(Subject)发送消息,所有订阅该主题的订阅者(Subscriber)均会收到消息。
  • ​通配符支持:支持 *(单级通配符,如 events.*)和 >(多级通配符,如 events.>),实现灵活的主题订阅。
  • ​适用场景:实时事件广播(如日志分发、配置更新)

队列组(Queue Groups)​
  • ​负载均衡:多个订阅者加入同一队列组,消息仅被组内一个订阅者接收,实现任务分摊。
  • ​容错机制:若组内某个订阅者宕机,消息自动重定向至其他成员,确保处理不中断。
  • ​典型应用:订单处理、批量任务分发

 ​请求-回复(Request/Reply)​
  • ​同步通信模拟:客户端发送请求消息并等待响应,NATS 自动路由至订阅者,回复通过临时主题完成。
  • ​超时控制:支持设置请求超时时间,避免因订阅者无响应导致的阻塞。
  • ​适用场景:微服务间的 RPC 调用、实时查询

【合集】常见中间件漏洞 1. IIS 1. PUT漏洞 用户配置不当,exp:https://github.com/hackping/HTTPMLScan.git 2. 短文件名猜解 IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。 exp:https://github.com/WebBreacher/tilde_enum 3.远程代码执行(CVE-2017-7269)) **exp**:https://github.com/zcgonv 阅读详情

相关推荐

OpenRMF机器人中间件框架官方文档合集

OpenRMF(Open Robot Management Framework)是一个专为多机器人系统设计的通用管理框架,致力于提供模块化、可扩展且高度灵活的系统架构。它通过统一的任务调度、资源管理与通信机制,支持多个异构机器人在复杂环境中的高效协同工作。其核心设计理念包括:模块化架构:系统功能被拆分为多个独立模块,便于按需集成与扩展;跨平台兼容性:原生支持与ROS(Robot Operating System)生态系统的无缝对接;高扩展性。

weixin_42309599的博客 2360

2021春招阿里面试必备—分布式大全:反向代理|Redis|中间件|MySQL|消息

这些年,分布式框架越用越成熟,越用越广泛。几前年还只是架构师和高级开发的面试必考题,现在已经连应届生都要面对了。 分布式框架看似又多又复杂,但主要集中在协调类框架如 Zookeeper,分布式缓存如 Redis,消息队列如 Kafka,数据库 MySQL 的分库分表方案如 MyCat,全文检索如 ElasticSearch,微服务如 Dubbo,方向代理如 Nginx。 每种技术都有多个框架供大家选择,具体应用依赖业务场景,大厂们内部也有自己的实现,一般面试官要求同类型的框架深入了解一个即可,毕竟学会了

bieber007的博客 899

中间件合集(包含常用IIS,Nginx,Apache等).pdf

Web中间件常见问题,一个集合

国产化中间件 替换 nginx

在探讨“国产中间件替换Nginx”的议题时,首先需明确国产中间件的定义及其与Nginx的功能对比。Nginx以其高性能、低内存消耗著称,而国产中间件如腾讯的Tengine、阿里云的ALB和京东的J-Dubbo,虽基于Nginx或类似技术,但针对国内需求进行了优化。替换策略包括需求评估、功能对比、性能测试、迁移计划和逐步替换。实施步骤涉及环境准备、配置迁移、测试验证、灰度发布及监控优化。通过这些步骤,可以确保在替换过程中系统的稳定性和性能不受影响。

计算机辅助工程 6803

中间件漏洞合集.zip

注:仅供学习使用,不能用于非法用途,大家可以根据需要下载。

国产中间件-中创中间件相关手册.rar

国产中间件-中创中间件相关手册

反向代理

1.什么是反向代理          反向代理(ReverseProxy)方式是指以代理服务器来接受internet的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。          通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发

O(∩_∩)O 601

8.2-12.4GHz喇叭天线设计

使用后处理模板的优化算法,对a1、h_horn、b1进行优化,各参数的优化区间即为之前计算得到的参数范围。由于矩形喇叭的辐射特型基本上是E面和H面扇形喇叭的结合,当波导中只是单模传播(只有TE波)时,矩形喇叭的口径可以通过远场公式推理出来。表示矩形喇叭的口径效率,进行最佳增益设计时,一般取值为0.5。从表中可以看出,该结构在8.58GHz的增益误差为2.68%>2.5%,需要对结构进行优化。建模完成,之后就是在矩形波导尾部添加波导端口激励,以及对应频率的远场监视器。,在这里,将频率定为区间的中心频率。

qq_48897427的博客 6655

【客观理性深入讨论国产中间件及数据库-科创基础软件】

随着国产化的进程,越来越多的国企央企开始要求软件产品匹配过程化的要求, 最近有一家银行保险的科技公司对行为验证码产品就要求匹配国产中间件, 于是开始了解国产中间件都有哪些厂家。

4373

Simulink中Simscape—Fluids模块(原Simhydraulics)学习记录

学习来源:http://cn.mathworks.com/help/physmod/hydro/getting-started-with-simhydraulics.html 主要学习内容如下图: 详细内容: 1、组件来源 SIMULINK浏览器中的模块:Simscape_Foundation 和 Simscape_Fluids。 2、Simscape下包括多个子

1万+

STM32H7B0VBT6使用Free RTOS配置SD卡+Fatfs文件管理系统

STM32H7B0VBT6使用Free RTOS配置SD卡+Fatfs文件管理系统,记录配置过程

Jack的小窝 5942

【免费下载】 CIS基线合集-常用版本操作系统、数据库及中间件

CIS基线合集-常用版本操作系统、数据库及中间件 【下载地址】CIS基线合集-常用版本操作系统数据库及中间件 本资源文件提供了常用版本的操作系统、数据库及中间件的CIS基线合集。CIS(互联网安全中心)是一个非营利性组织,致力于制定配置策略的基准,以改善企业和组织的网络安全性、合规性,提升安全建设和发展态势 ...

gitblog_06500的博客 884

STM32F103C8T6蓝莓派用HAL库GPIO模拟SPI驱动MAX31865读取PT100温度(附完整代码)

本文详细介绍了如何在STM32F103C8T6蓝莓派开发板上使用HAL库通过GPIO模拟SPI驱动MAX31865读取PT100温度传感器的完整方案。内容包括硬件连接、CubeMX配置、GPIO模拟SPI实现、温度计算算法及常见问题排查,并附有完整代码示例,帮助开发者快速实现高精度温度测量。

weixin_30684743的博客 935

CIS基线合集-常用版本操作系统、数据库及中间件

互联网安全中心(CIS,Center for Internet Security)

zhongxj183的博客 5086

用ADS复现一篇MTT顶刊的GAN功率放大器:从理论推导到版图仿真的完整避坑指南

本文详细解析了如何利用ADS软件复现MTT顶刊中的E/F3类GaN功率放大器设计,从理论推导到版图仿真的全流程。通过核心设计理念解析、ADS环境配置、输出匹配网络优化等关键步骤,提供了一套完整的工程实践指南,帮助工程师跨越学术理论与实际应用的鸿沟,实现高效率射频功率放大器的设计。

weixin_30654583的博客 314

ESP32-IDF开发之旅 网络篇⑩ Web配网

本文介绍了基于ESP32S3的Web配网实现方案。作者通过移植开源项目,在ESP32S3上实现了WiFi配置功能,包括AP模式创建、HTTP服务器搭建、NVS存储读写等核心功能。文章详细解析了代码结构,包含WiFi初始化、事件处理、NVS存储管理和HTML页面服务等关键模块。实现方案采用AP+STA双模式,支持通过网页扫描WiFi并保存配置信息,适用于物联网设备的网络配置场景。代码中使用了FreeRTOS任务、ESP-IDF事件组等技术,并提供了完整的错误处理和日志记录功能。

单片机菜鸟哥的博客 350

【亲测免费】 【强力推荐】一揽子解决系统安全——CIS基线合集全面解析

【强力推荐】一揽子解决系统安全——CIS基线合集全面解析 【下载地址】CIS基线合集-常用版本操作系统数据库及中间件 本资源文件提供了常用版本的操作系统、数据库及中间件的CIS基线合集。CIS(互联网安全中心)是一个非营利性组织,致力于制定配置策略的基准,以改善企业和组织的网络安全性、合规性,提升安全建设和发展态势 ...

gitblog_06512的博客 855

【深度学习新浪潮】ISP芯片算法技术简介及关键技术分析

ISP(Image Signal Processor)芯片作为现代影像系统的核心组件,负责对图像传感器输出的原始信号进行后期处理。ISP的主要功能包括线性纠正、噪声去除、坏点修复、色彩校正以及白平衡调整等,这些处理步骤对于提高图像质量和视觉效果至关重要。随着科技的进步,ISP芯片不仅提升了图像的清晰度和色彩准确性,还通过高效的算法增强了拍摄体验,尤其是在低光环境下的表现。

专注:太空算力、AI infra、异构调度、大模型成本工程 1223

阿里P8 Java高级工程师,都需要掌握哪些技术?

大家都知道,阿里P8高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标。达到年入百万的P8 Java高级架构师级别,不仅要具备优秀的编程能力和系统...

Java后端技术 3649

核心组件大换血:Backbone与Neck魔改篇:YOLO26结合StarNet结构:2026星状网络在YOLO生态的即插即用实战

本文将介绍如何将StarNet作为Backbone替换YOLO26原生架构,以提升边缘设备上的目标检测性能。文章首先分析了YOLO26在特定场景下的精度瓶颈,指出其通用Backbone设计存在不足。随后深入解析StarNet的核心创新——星操作(Star Operation),这一低维计算却能获得高维特征表达的数学魔术,以及其极简的StarBlock模块设计。通过对比YOLO26原生架构的三大创新与痛点,作者提出两种替换策略:完整替换Backbone或局部替换+Neck联调。文中提供了StarNet核心代码

ZDQ58818的博客 288

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

二本学渣考研失败,我的Java春季历程

消息中间件合集:MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka+笔记 最近有好多朋友都去投岗秋招提前批,面完回来跟我说碰到消息中间件一类的问题就挂了。额,有点不知所措,于是乎小编就想着做一次消息中间件的专题,归类整理了MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka 等的纯手绘知识体系图、面试以及相关的学习笔记。 Java如何入门? 1、建立好开发环境 首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发,首先就是要把这个环境准备好,之后就可以

m0_57066201的博客 191

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Java架构师成长路线总结2021版(持续更新)

本篇文章是我们整理的一份架构师的成长路线,包括了并发编程、设计模式、常用框架、中间件、微服务与分布式、常用工具、JVM、MySQL、数据结构与算法,还有架构师精选视频、架构师成长路线高清大图。 又是新的一年,每一年都会有人在成为架构师的路上或者已经成为自己心中理想的架构师,但更多的...

Bojun Jiang的博客 522

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Docker:基于Docker对中间件进行配置、安装和使用操作合集

Docker中间件安装合集

qjyws的博客 1005

【Go电商实战05】结合项目解答使用Go中间件遇到的问题:中间件的概念和应用_r

在服务端开发中,“中间件”是大家一定会听到的名词。初学者听起来觉得很高大上,觉得很难,其实“中间件”并不难,对我们学习Go语言来说,使用中间件也没有太多心智挑战。“中间件”它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

2301_82257383的博客 1201

【Go电商实战05】结合项目解答使用Go中间件遇到的问题:中间件的概念和应用

在服务端开发中,“中间件”是大家一定会听到的名词。初学者听起来觉得很高大上,觉得很难,其实“中间件”并不难,对我们学习Go语言来说,使用中间件也没有太多心智挑战。“中间件”它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

王中阳讲编程 926

Flutter-Notebook状态管理:Redux中间件应用

你是否在Flutter开发中遇到过状态管理混乱的问题?当应用复杂度提升时,如何优雅地处理异步操作、日志记录和错误捕获?本文将通过Flutter-Notebook项目中的Redux示例,带你掌握中间件在状态管理中的实战应用,解决这些痛点。读完本文,你将能够:理解Redux中间件的工作原理、掌握常用中间件的配置方法、实现复杂业务场景下的状态管理。 ## Redux基础架构回顾 Redux作为单向数

gitblog_00164的博客 650
上一篇: 游戏服务器架构
下一篇: 面试常考算法
卜睵·-嗳
博客等级 码龄5年 76粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值