一、nest学习:后端中间件
一、nest学习:后端中间件
vkrain一、nest学习:后端中间件记录
pm2
- 用途:管理node应用的进程管理器
- 使用场景: 当您需要部署一个长期运行的 Node.js 应用程序时,PM2 可以确保应用程序的高可用性
RabbitMQ
- 用途:高级的消息队列代理,支持多种消息协议
- 使用场景: 解耦生产者和消费者的场景中,例如订单处理系统,订单创建后可以立即返回给用户
MongoDB
- 用途: MongoDB 是一个灵活的 NoSQL 文档数据库,它以其高性能、高可用性和易扩展性而闻名。
GraphQL
- 用途: GraphQL 是一个由 Facebook 开发的查询语言,用于 API,允许客户端明确指定他们需要哪些数据,从而减少数据传输量,提高效率。
- 使用场景: 在构建需要高度定制化数据请求的客户端应用程序时,GraphQL 非常有用。例如,电子商务应用可能需要根据不同的用户和设备显示不同的产品信息,GraphQL 允许客户端仅请求所需的数据。
Kafka
用途: Kafka 是一个分布式流处理平台,它能够高吞吐量地处理实时数据流。
使用场景: Kafka 常用于构建实时数据管道和流应用程序,如日志聚合、实时分析、事件源、消息传递等。例如,一个在线广告平台可能使用 Kafka 来处理和分析大量的用户点击流数据,以便实时调整广告投放策略。
Etcd
用途: 高可用的分布式键值存储系统,主要用于分布式系统中的数据存储、配置管理和服务发现
使用场景:在分布式架构中,服务实例可以向 Etcd 注册,并且其他服务可以通过 Etcd 查询到服务的注册信息,实现动态服务发现
Nacos
- 用途: Nacos 是一个集成了服务注册、服务发现、配置管理和动态 DNS 的全面平台。它不仅提供服务的注册与发现功能,还支持动态配置管理、健康检查、负载均衡等功能
- 使用场景:在微服务架构中,Nacos 允许服务自动注册并且让其他服务可以动态地发现这些服务,支持基于 DNS 和 HTTP 的服务发现方式。