{T}

高可用架构 学习笔记(第 8 部分)

4.2 技术栈对比

4.2.1 应用层

集群架构技术

code
集群架构应用层:

系统层面
├── Unix/Linux 集群
├── Windows Server 集群
└── 虚拟机集群

容器编排
├── Docker Swarm
├── Kubernetes (单集群)
└── Mesos

负载均衡
├── Nginx
├── HAProxy
└── F5

分布式架构技术

code
分布式架构应用层:

容器编排
├── Kubernetes (多集群)
├── Istio (服务网格)
└── Consul (服务发现)

微服务框架
├── Spring Cloud
├── Dubbo
├── gRPC
└── GraphQL

API 网关
├── Kong
├── Zuul
└── APISIX

4.2.2 中间件层

集群架构中间件

javascript
const clusterMiddleware = {
  // Web 服务器
  webServer: {
    nginx: '负载均衡、反向代理',
    tomcat: 'Java 应用服务器',
    weblogic: '企业级应用服务器',
    websphere: 'IBM 应用服务器'
  },
  
  // 消息队列
  mq: {
    activemq: 'JMS 规范实现',
    rabbitmq: 'AMQP 协议'
  },
  
  // 缓存
  cache: {
    redis: '单机/主从 Redis',
    memcached: '分布式缓存'
  }
}

分布式架构中间件

javascript
const distributedMiddleware = {
  // 消息队列
  mq: {
    kafka: '高吞吐量、分布式',
    rocketmq: '阿里开源、事务消息',
    pulsar: '云原生、多租户'
  },
  
  // 缓存
  cache: {
    redisCluster: 'Redis 集群',
    codis: 'Redis 代理集群',
    twemproxy: 'Redis/Memcached 代理'
  },
  
  // 协调服务
  coordination: {
    zookeeper: '分布式协调',
    etcd: 'Kubernetes 存储',
    consul: '服务发现、配置中心'
  },
  
  // 分布式事务
  transaction: {
    seata: '阿里分布式事务',
    dtm: 'Go 分布式事务'
  }
}

4.2.3 数据层

集群架构数据层

code
集群架构数据层:

数据库集群
├── MySQL 主从复制
├── Oracle RAC
└── SQL Server AlwaysOn

存储
├── SAN (存储区域网络)
├── NAS (网络附加存储)
└── RAID 磁盘阵列

分布式架构数据层

code
分布式架构数据层:

分布式数据库
├── TiDB (NewSQL)
├── OceanBase (阿里)
├── CockroachDB
└── MongoDB (分片)

分布式存储
├── HDFS
├── Ceph
├── MinIO
└── 对象存储 (S3/OSS)