架构概论及架构演变史

架构概论

  • Reliable Scalable Distributed(可靠的、可扩展的、分布式的),高并发,可靠性,性能
    • Distributed Middleware(分布式中间件)
    • Micro Service(微服务)
  • DevOps(开发运维一体化),Docker,K8s,CI/CD
  • Service Mesh,解决性能问题,每一个物理节点上有一个代理节点,节点与节点之间通信,代理节点完成末端的统一接口,这样就可以让我们的集群网络通信、开发成本降低
  • AIOps(人工智能运维)
    • ChatOps(聊天室运维)
    • Serviceless(无服务化)

顶层设计

  • 按需、预期未来,规划企业架构
  • 业务全局出发,制定可落地的架构方案
  • 技术选型、难题解决规划
  • 方案与代码,广度与深度
  • 技术+管理(人,资源,技术)

核心需求

  • 分布式、高并发、高性能、高可用、可扩展、松耦合、高内聚、可复用、边界、安全、成本、规模等等
  • 服务、缓存、消息、搜索、调度、任务、数据、监控、配置、网关等等
  • Paxos、CAP、BASE、ACID、raft、rpc、Reactor、SLA、SLB等等

关键词汇

  • 缓冲 Buffer:解决上下游速度不匹配的问题,消息队列、批处理都属于 Buffer
  • 缓存 Cache:解决 I/O 性能问题,在内存中存储热点数据,提升慢速磁盘 I/O 和程序使用的过程,PageCache、内存到 CPU 中的三级缓存、Redis、本地缓存等都属于 Cache
  • 复用 Pool:降低复杂度,提升性能,连接池、线程池、内存池、对象池都属于 Pool
  • 分治 Sharding:分而治之,单机、集群都适用,降低时间复杂度
  • 亲密(粘性)sticky:让某一个线程亲密到某一颗 CPU上,将相同 id 的商品路由到一台机器上,或者是将相同 ip 地址/相同 session 在负载均衡时负载到一台机器上,这样可以减少资源的重复分配,ThreadLocal、数据路由等都属于 sticky
  • 权衡 Balance or trade-off:技术选型,在技术之间做一个均衡

喝啤酒理论:假设你住在24层,在1层有12瓶啤酒,现在你想喝啤酒,但是有一个要求,你必须把啤酒从1层带到24层去喝,你可以有两种选择:一种是每次拿1瓶回去喝,另一种是拿个箱子把12瓶酒全部装回去喝。很显然,第二种方式是更优的,它相比第一种方式,减少了来回跑动所付出的代价。这种理论实际上就体现了缓冲的概念。

技术词汇:

  • QPS:Queries Per Second(2/8 定理:0.8并发量/0.2天秒)
  • TPS:Transactions Per Second
  • RT:Response-time
  • PV:Page View
  • UV:Unique Visitor
  • 并发数:同时访问服务器站点的连接数
  • 线程数:((挂起时间+运行时间)/ 运行时间 )* CPU 2倍(状态(挂起,运行)->时间)

各种中间件的性能:https://help.aliyun.com/

书籍推荐

1、大型网站技术架构:核心原理与案例分析

2、分布式服务框架原理与实践

3、互联网创业核心技术:构建可伸缩的web应用

4、高扩展性网站的50条原则

5、架构即未来:现代企业可扩展的Web架构、流程和组织

6、系统架构:复杂系统的产品设计与开发

7、Java性能优化权威指南

8、大规模分布式存储系统:原理解析与架构实战

9、大规模分布式系统架构与设计实战

10、企业IT架构转型之道:阿里巴巴中台战略思想与架构实战

11、尽在双11:阿里巴巴技术演进与超越

12、大型网站系统与Java中间件实践

13、架构探险—从零开始写Java Web框架

14、架构探险:从零开始写分布式服务框架

15、软件架构师的12项修炼

16、Web信息架构设计大型网站

17、深入分析Java Web技术内幕(修订版)

18、实用负载均衡技术:网站性能优化攻略

19、ZeroC Ice权威指南

20、架构之美

从过去到未来

  • 从web server到web container
  • Servlet从NIO到WebSocket
  • 同步到异步

架构概论及架构演变史

AFK拆分原则

  • 前后端分离原则
  • 服务无状态原则
  • 通信无状态原则

架构概论及架构演变史



上一篇:6 个 K8s 日志系统建设中的典型问题,你遇到过几个?


下一篇:Docker概述