1.云原生背景
- 业务快速发展与 开发、运维、运营之间落后的生产关系与生产力的矛盾
- 企业内部各占山头与企业总体战略规划的矛盾
- 企业内部改革,降本增效的需求
- 企业实现数字孪生,数字资产的必然需求
- 企业外部环境,如人工智能发展、安全合规等大环境的要求
2.云原生架构的设计原则
- 服务化原则(拆分为微服务、小服务,非功能特性委托)
- 弹性原则(可伸可缩)
- 可观测原则(基于sla,slo,在log,trace,metric三个维度)
- 可持续演进扩展(增量迭代,重构,迁入迁出等,实现业务&架构的平衡)
- 零信任(身份鉴权、资源隔离)
- 韧性(主要目标是MTBF)
- 高度自动化(基于ci/cd,gitops,apm,k8s)
3. 云原生架构模式
- 服务化架构模式(服务接口契约,如IDL)
serverless(适用于无状态、无大量io阻塞,快进快出,事件驱动的业务,如阿里云的函数计算FC)
技术关注点
- 资源弹性调度
- 负载均衡和流控
- 安全性
技术特点
- 全托管计算服务
- 通用
- 自动弹性伸缩
- 按量计费
技术难点
- 函数编程事件驱动比较反人性
- 颗粒度较低,导致冷启动时间长,导致响应延迟
- 函数编程生态不够成熟
service mesh(托管非功能性代码,增加代理层)
技术特点
- 数据平面
- 控制平面
主要技术
- istio
- linkerd
- consul
- conduit
- 存储计算分离
- 分布式事务(XA、TCC、SAGA、SEATA)
- 可观测架构(对服务目标slo进行度量,包括log,trace,metric三个方面)
事件驱动架构(EDA)
- 适用场景如CQRS、增强服务韧性、数据变化通知、事件流处理,openapi等
4. 云原生架构反模式
- 庞大的单体(粒度太大,耦合太高,责任不清)
- 硬拆单体(粒度太小,架构与技术组织能力不匹配)
- 技术拉胯(自动化能力不足,如打包、部署、治理、观测、放火技术等不足)
5. 云原生架构相关技术
容器技术
- 隔离
- 可移植
- 轻量
- 打包规范化
容器编排
- 资源调度
- 服务发现
- 负载均衡
- 应用部署
- 弹性伸缩
- 自动修复
6. 云原生微服务设计约束
- 微服务个体约束
- 微服务与微服务之间的横向关系
- 微服务与数据层之间纵向关系
- 全局视角微服务的分布式约束
7.业内主要微服务技术
- 腾讯-tars
- 阿里-spring cloud alibaba(包括注册中心,全局锁,分布式事务等)、dubbo(rpc框架)
- 蚂蚁金服 sofa stack
- Apache-spring cloud
- eclipse micro profile
- go生态(...)
8.云原生项目改造【背景、挑战、解决方案、收益】
- 艺龙旅行
- 申通
- 广汽丰田
- 特步
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。