当前位置: 首页 > ds >正文

【行业】一些名词

名词

    • 分布式应用架构(分布式计算技术的应用和工具)
    • 中间件 中间件(Middleware)
      • 主流中间件技术
        • 1.通信类
        • 2.数据类
        • 3. **协调与治理类中间件**
        • 4. 监控与可观测性中间件
        • 5.**流处理与批处理**中间件
        • 6.云原生中间件
    • 数据库
      • Redis
      • mogodb

分布式应用架构(分布式计算技术的应用和工具)

(Distributed Architecture) 分布式计算技术的应用和工具。

也就是将一个庞大的服务分拆成一个个小服务。

分布式应用架构是一种将应用程序拆分为多个独立组件(或服务),并将这些组件部署在不同计算节点上,通过网络协作完成任务的系统设计方式。
其核心目标是提高可扩展性、可靠性和性能,同时支持灵活的技术选型。
核心特征
组件分布:服务部署在不同物理/虚拟节点(跨主机、跨机房甚至跨地域)

松耦合:服务间通过标准协议(如HTTP/gRPC)通信,而非内部方法调用

自治性:单个组件可独立开发、部署、扩展和故障恢复

透明性:对用户隐藏分布式细节(如负载均衡、容错机制)

  • 分层架构 Layered Architecture
  • 微服务架构 (Microservices)
  • 事件驱动 (EDA)
  • 服务导向架构SOA
  • CS架构
  • P2P架构
  • 集群架构
  • 主从架构
  • 分片架构

中间件 中间件(Middleware)

是连接不同组件或服务的核心基础设施,负责处理通信、数据管理、协调等通用能力。

主流中间件技术

1.通信类
-  **消息队列  (Message Queue,MQ)**- 	作用:异步解耦、流量削峰、事件驱动- 主流工具:- **Kafka**:高吞吐、分布式日志(适合大数据场景)- **RabbitMQ**:轻量级、支持复杂路由(AMQP协议)- RocketMQ:阿里开源,金融级可靠性- Pulsar:多租户、分层存储(云原生设计) - **RPC框架(远程调用)**- 作用:服务间高效通信(*替代* **HTTP短连接**)- 主流工具:- **gRPC**:基于HTTP/2,多语言支持(ProtoBuf编码)- **Dubbo**:**阿里开源**,**Java生态**(服务治理能力强)- Thrift:Facebook开源,跨语言支持
2.数据类
  • 分布式缓存
    • 作用:缓解数据库压力,加速读操作
    • 主流工具:
      • Redis : 内存数据库,支持数据结构丰富(如缓存、会话存储)
      • Memcached:简单KV缓存,多线程高性能
  • 分布式数据库中间件
    • 作用:分库分表、读写分离
    • 主流工具:
      • ShardingSphere:Apache项目(JDBC透明分片)
      • MyCat:MySQL代理层分片(已逐渐被ShardingSphere替代)
  • 搜索引擎中间件
    • 作用:全文检索、复杂查询
    • 主流工具:
      • Elasticsearch:近实时搜索,支持聚合分析
      • Solr:传统搜索引擎,稳定性高
3. 协调与治理类中间件
  • 服务发现与配置中心

    • 作用:动态管理服务地址和配置
    • 主流工具:
      • Nacos:阿里开源(服务发现+配置中心)
      • Consul:多数据中心支持,健康检查
      • ZooKeeper:CP系统,强一致性(但性能较低)
      • Etcd:Kubernetes默认存储,轻量级
  • 分布式事务

    • 作用:保证跨服务数据一致性
    • 主流工具:
      • Seata:阿里开源(AT/TCC/SAGA模式)
      • DTF:华为开源(兼容Seata)
  • API网关

  • 作用:统一入口、路由、鉴权、限流

  • 主流工具:
    - Kong:插件化设计(基于OpenResty)
    - Spring Cloud Gateway:Java生态,响应式编程

    • Apigee:企业级商用API管理
4. 监控与可观测性中间件
  • 日志收集
    • ELK Stack:Elasticsearch + Logstash + Kibana
    • Loki:轻量级日志聚合(Grafana生态)
  • 指标监控
    • Prometheus:时序数据库 + 告警(Pull模式)
    • InfluxDB:高性能时间序列数据库
  • 链路追踪
    • Jaeger:Uber开源,兼容OpenTelemetry
    • Zipkin:Twitter开源,简单易用
5.流处理与批处理中间件
  • 流处理(Stream Processing)

    • Flink:低延迟、高吞吐(事件驱动)

    • Spark Streaming:微批处理(适合准实时)

  • 批处理(Batch Processing)

    • Hadoop MapReduce:离线大数据处理
    • Spark:内存计算,替代MapReduce
6.云原生中间件
  • 容器编排

    • Kubernetes:事实标准(自动扩缩、服务发现)

    • Docker Swarm:轻量级(已逐渐边缘化)

  • Serverless平台

    • AWS Lambda:函数即服务(FaaS)

    • Knative:Kubernetes原生Serverless框架

选型建议
消息队列:实时性选Kafka简单场景用RabbitMQ
服务发现:云原生用Nacos/Consul,K8s环境直接用Etcd

缓存:99%场景Redis足够

事务:Seata是Java生态首选
现代分布式系统通常组合多种中间件(如Kafka+Flink+Redis+K8s),需根据业务规模、团队技术栈和运维成本综合选择。


一、通信类中间件

  1. 消息队列(Message Queue)

    • 作用:异步解耦、流量削峰、事件驱动
    • 主流工具
      • Kafka:高吞吐、分布式日志(适合大数据场景)
      • RabbitMQ:轻量级、支持复杂路由(AMQP协议)
      • RocketMQ:阿里开源,金融级可靠性
      • Pulsar:多租户、分层存储(云原生设计)
  2. RPC框架(远程调用)

    • 作用:服务间高效通信(替代HTTP短连接)
    • 主流工具
      • gRPC:基于HTTP/2,多语言支持(ProtoBuf编码)
      • Dubbo:阿里开源,Java生态(服务治理能力强)
      • Thrift:Facebook开源,跨语言支持

二、数据类中间件

  1. 分布式缓存

    • 作用:缓解数据库压力,加速读操作
    • 主流工具
      • Redis:内存数据库,支持数据结构丰富(如缓存、会话存储)
      • Memcached:简单KV缓存,多线程高性能
  2. 分布式数据库中间件

    • 作用:分库分表、读写分离
    • 主流工具
      • ShardingSphere:Apache项目(JDBC透明分片)
      • MyCat:MySQL代理层分片(已逐渐被ShardingSphere替代)
  3. 搜索引擎中间件

    • 作用:全文检索、复杂查询
    • 主流工具
      • Elasticsearch:近实时搜索,支持聚合分析
      • Solr:传统搜索引擎,稳定性高

三、协调与治理类中间件

  1. 服务发现与配置中心

    • 作用:动态管理服务地址和配置
    • 主流工具
      • Nacos:阿里开源(服务发现+配置中心)
      • Consul:多数据中心支持,健康检查
      • ZooKeeper:CP系统,强一致性(但性能较低)
      • Etcd:Kubernetes默认存储,轻量级
  2. 分布式事务

    • 作用:保证跨服务数据一致性
    • 主流工具
      • Seata:阿里开源(AT/TCC/SAGA模式)
      • DTF:华为开源(兼容Seata)
  3. API网关

    • 作用:统一入口、路由、鉴权、限流
    • 主流工具
      • Kong:插件化设计(基于OpenResty)
      • Spring Cloud Gateway:Java生态,响应式编程
      • Apigee:企业级商用API管理

四、监控与可观测性中间件

  1. 日志收集

    • ELK Stack:Elasticsearch + Logstash + Kibana
    • Loki:轻量级日志聚合(Grafana生态)
  2. 指标监控

    • Prometheus:时序数据库 + 告警(Pull模式)
    • InfluxDB:高性能时间序列数据库
  3. 链路追踪

    • Jaeger:Uber开源,兼容OpenTelemetry
    • Zipkin:Twitter开源,简单易用

五、流处理与批处理中间件

  1. 流处理(Stream Processing)

    • Flink:低延迟、高吞吐(事件驱动)
    • Spark Streaming:微批处理(适合准实时)
  2. 批处理(Batch Processing)

    • Hadoop MapReduce:离线大数据处理
    • Spark:内存计算,替代MapReduce

六、云原生中间件

  1. 容器编排

    • Kubernetes:事实标准(自动扩缩、服务发现)
    • Docker Swarm:轻量级(已逐渐边缘化)
  2. Serverless平台

    • AWS Lambda:函数即服务(FaaS)
    • Knative:Kubernetes原生Serverless框架

选型建议

  1. 消息队列:实时性选Kafka,简单场景用RabbitMQ
  2. 服务发现:云原生用Nacos/Consul,K8s环境直接用Etcd
  3. 缓存:99%场景Redis足够
  4. 事务:Seata是Java生态首选

现代分布式系统通常组合多种中间件(如Kafka+Flink+Redis+K8s),需根据业务规模团队技术栈运维成本综合选择。

数据库

  • 主流数据库

  • 关系型

    • MySQL 最流行的开源数据库,适合Web应用、中小型系统
    • PostgreSQL 开源、功能最强大的关系数据库
    • Oracle 企业级商用数据库,金融/电信行业主流
    • SQL Server Microsoft生态首选,与**.NET**深度集成
  • NoSQL(非关系型)

    • k-v 键值对
      • Redis
    • 文文档型
      • MongoDB |JSON文档模型,灵活 schema | 日志存储
  • 列式存储

    • HBase Hadoop生态,适合海量数据存储

掌握至少一种关系型(如MySQL)和一种NoSQL(如Redis/MongoDB)是基础,再根据业务需求扩展其他类型。

Redis

mogodb

http://www.xdnf.cn/news/4694.html

相关文章:

  • 双11美妆数据分析
  • 双指针思路
  • 使用频域变换轻松压缩kv-cache
  • pip安装包时出现网络问题的坑
  • Nvidia Orin 安装onnxruntime-gpu
  • 中科固源:蓝牙协议栈架构与核心协议深度剖析
  • C语言——操作符
  • VSCode怎么同时打开多个页面
  • 分区器(1)
  • 测度论——测度论思想的引出
  • Linux电源管理(7)_Wakeup events framework
  • 动态规划--线性dp
  • leeCode算法之独一无二出现次数
  • 【HarmonyOS 5】鸿蒙Web组件和内嵌网页双向通信DEMO示例
  • 晶体布局布线
  • 【CUDA C实战演练】CUDA介绍、安装、C代码示例
  • 电商双十一美妆数据分析(代码)
  • MapReduce中的分区器
  • Ceph 原理与集群配置
  • 网络技术基础,NAT,桥接,交换机,路由器
  • 关于Stream
  • paddle ocr 或 rapid ocr umi ocr 只识别了图片的下部分内容 解决方案
  • 如何避免“救火式管理”消耗精力
  • EEG设备的「减法哲学」:Mentalab Explore如何用8通道重构高质量脑电信号?
  • C++20新特新——02特性的补充
  • 数字乡村综合管理与服务平台软件需求规格说明文档
  • Office365功能特点
  • vue3:十二、图形看板- 基础准备+首行列表项展示
  • MySQL基础关键_011_视图
  • MCU怎么运行深度学习模型