常见的中间件

1、express内置的中间件
解析json格式请求体数据

app.use(express.json())
app.use(express.urlencoded())

2、应用级别中间件
全局中间件和局部中间件直接绑定在app的实例上,就叫应用级别中间件

// 全局中间件
 app.use(middlieware)
// 局部中间件
 app.get('/login', middleware, () => {})

3、路由级别中间件
中间件绑定在路由router上

router.use(middleware)

4、错误级别中间件
在全局项目中捕获异常错误,防止项目报错异常奔溃

app.post('/user/login', (req, res) => {
  throw new Error('项目发生了错误')
  console.log(req.body)
  res.send('登录成功')
})

app.use((err, req, res, next) => {
  res.send(err.message)
})

5、第三方中间件body-parser
解析请求体json、url-encode数据

app.use(bodyParser.json())
app.use(bodyParser.urlencoded())
### 后端开发中的常见中间件及其用途 #### 1. Nginx Nginx 是一种高性能的HTTP和反向代理服务器,能够处理大量的并发连接。它不仅可以用作Web服务器,还可以用于负载均衡、缓存以及SSL终止等功能[^1]。 ```nginx http { upstream backend { server localhost:8080; server localhost:8081; } server { location / { proxy_pass http://backend; } } } ``` #### 2. Redis Redis 是一个开源的内存数据结构存储系统,支持多种数据类型如字符串、哈希表、列表等。常被用来做缓存层来加速应用响应速度;也可以作为消息队列使用,在分布式环境中传递异步任务。 #### 3. RabbitMQ RabbitMQ 实现了AMQP协议的消息代理软件,允许应用程序之间通过发送和接收消息来进行通信。适合构建微服务架构下的事件驱动型业务逻辑交互模式。 #### 4. Kafka Apache Kafka 是一款高吞吐量分布式的发布订阅式消息队列系统。主要用于日志收集、监控指标传输等领域,并且可以很好地支撑大数据场景下海量数据流式处理需求。 #### 5. Elasticsearch Elasticsearch 属于NoSQL数据库家族的一员,专为全文检索而设计。除了基本的索引/查询功能外,还提供了丰富的聚合分析能力,适用于实时搜索应用场景。 #### 6. Zookeeper Zookeeper 提供了一套简单易用的一致性服务框架,可用于配置管理、命名服务、集群协调等方面的工作。特别是在大型分布式系统里起到至关重要的作用,帮助维护节点间的同步状态信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值