架构 - 架构的演进

60 阅读1分钟

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

  • 单体:服务器 + 数据库 + 文件系统

  • 硬件提升:
    CPU 内存 磁盘 文件系统

  • 缓存:
    本地 redis memcache

  • 负载:请求分发

    • 软件:
      apache nginx
      LVS
    • 硬件:
      F5
    • CDN:
      域名 - ip
  • 数据库主从复制读写分离:主从
    mycat
    sharding-jdbc

  • 网络:

    • 反向代理:缓存
      nginx 缓存
    • CDN加速:
      就近缓存
  • 分布式文件系统和数据库系统:

    • 分布式文件系统:
      FastDFS
      TFS
    • 分布式数据库系统:分库分表
      mycat
      sharding-jdbc
  • 大量数据搜索处理:

    • 搜索:
      lucene
      solr
      es
    • nosql:
      mongodb
      es
  • 业务拆分:

    • RPC:
      dubbo
      feign
    • MQ:
      ActiveMQ
      RabbitMQ
      Kafka
      RocketMQ
  • 服务化和配置中心:

    • 服务化:
      SOA - ESB
      微服务
    • 配置中心:
      zk
      Apollo
      spring-cloud-config
  • 大数据、监控、日志:

    • 大数据:
      hadoop
      spark
    • 监控、日志:
      zabbix
      ELK
  • 自动化:

    • 容器:
      docker
      k8s

在这里插入图片描述