六百万架构课(1)
2022-05-27 本文已影响0人
rice88
原发布于 rice 若初见似少年 2021-08-15 17:01
互联网变化的本质是:数据。
互联网架构演进的原因:
功能越来越复杂导致算力不足
数据量越来越大
请求越来越密集
业务迭代越来越快
服务规模越来越庞大
架构设计的本质:
业务产品快速迭代,要求快速交付
降本提效
需求驱动
架构演进的核心:分而治之。
垂直方向拆分:用户、交易、商品、积分
水平方向拆分:网关层、web层、业务逻辑层、数据操作层
数据库层:垂直拆分:分库,水平拆分:分表
mycat/sharding-jdbc
理解:SOA ESB 微服务
ServiceMesh
ServiceMesh 独立进程、独立升级
业务团队专注于业务本身
一套基础设施支持多语言开发
业务团队和基础设施团队解耦
负载均衡
硬件:F5 A10 RadWare
软件:LVS(4层) HAProxy(4或7层) Nginx(4或7层)
算法:加权轮询、一致性哈希
负载均衡高可用
服务无状态化设计
高可用设计
服务不可靠因素:硬件、软件
设计手段
1.服务层面:服务冗余 负载均衡 超时机制 异步化机制 限流降级熔断
2.数据层面:热双备 缓存/多级缓存 sharding分片
3.架构设计层面:服务拆分 细颗粒化 服务自治
架构的本质
架构不是设计而来,而是演进而来
架构基于业务之上,助力实现业务价值
从实际问题出发,以解决主要矛盾为先