Skip to content

Latest commit

 

History

History
60 lines (52 loc) · 3.2 KB

从架构演变到展望未来.md

File metadata and controls

60 lines (52 loc) · 3.2 KB

从架构演变开始


随着第一台计算机的发明,慢慢的计算机在不断的在改变人们的思维方式和生活方式。承载在pc之上的网络,以及在网络之上的应用也伴随着pc的硬件发展在不断的改变自己。来使自己更加的适合这个时代的潮流。每个人,每个应用都要不断的去改变,这样才不会被社会抛弃。

  • 硬件发展

    1. 1946年第一台计算机发明
      • 因为刚开始的计算机性能不佳,所以在后来的一段时间里人们在向着提升单机性能方向不断前进。
    2. 1964年IBM第一台大型计算机
      • 因为随着计算机性能的成熟,以及普通大众对计算机的需求,所以在后来的一段时间人们向着小型化的方向发展
    3. 1978年x86 cpu
      • 因为随着个人计算机的成熟,并且随着摩尔定律的推测,在制程上取得进步越来越难,所以人们开始追求功耗比更小的处理器
    4. RISC cpu
      • 在现在的时代,既有向超大型机的发展,也有像超小型机的发展。但是在当前没有太大突破的时候,基于成本考虑人们更喜欢用低功耗计算机来进行集群运算匹敌超大型机。
  • 架构变化

    1. 单 pc 部署 db 和 server
      • 这个阶段网络还不够发达,用户访问量也不大,将db和server部署在一起也足够支撑
    2. 拆分 db 和 server 部署
      • 随着访问人数的上升人们发现,单pc的性能已经无法承载的时候,就首先将db剥离出去,来提升性能
    3. server 的集群部署
      • 在将 db 剥离出去后,人们发现 server 还是无法满足越来越多的请求,这个时候人们通过部署多个 server 来提高访问量的支撑
        • 问题:
          • 如何保持会话?
          • 如何做负载均衡?
    4. db的集群部署
      • 在解决了前台的性能局限后,人们发现后台的db现在却成了系统的瓶颈。这个时候人们也开始集群化部署db
        • 问题:
          • 数据读写分离如何实现
          • 数据数据一致性如何保证
          • 数据库的路由
    5. 搜索框架的加入
      • 在查询需求不断增加的情况下,db提供的查询性能已经不能满足。这时候出现的搜索框架来解决大数据量查询问题。
        • 问题:
          • 搜索引擎的索引如何同步
    6. 缓存,限流,降级
      • 在用户没有上限的情况下,为了再增加服务的性能,这个时候引入了缓存,限流,降级等手段
        • 问题:
          • 缓存数据如何同步
    7. 数据库的拆分
      • 伴随着访问量的不断增大,db中的数据越来越多。这个时候会影响到db性能。人们通过数据库的水平垂直拆分来将大表变成小表
        • 问题:
          • db如何拆分
    8. 服务的拆分
      • 这个阶段人们发现服务之间的也需要进行拆分来进行服务的沉淀,和服务的分离
        • 问题:
          • 服务之间如何调用
  • 新的挑战

    1. 节点通讯
      1. 协议
      2. 序列化
      3. rpc
    2. 任务分解
      1. 领域模型
      2. 任务协调