这是我参与「第五届青训营 」伴学笔记创作活动的第9天
系统架构演变历史
为什么系统架构需要演进?
互联网的爆炸性发展
硬件设施的快速发展
需求复杂性的多样化
开发人员的急剧增加
计算机理论及技术的发展
微服务架构核心要素
服务治理
服务注册
服务发现
负载均衡
扩缩容
流量治理
稳定性治理
可观测性 日志采集
日志分析
监控打点
监控大盘
异常报警
链路追踪
安全 身份验证
认证授权
访问令牌
审计
传输加
密黑产攻击
基本概念
服务(service)
一组具有相同逻辑的运行实体。
实例( instance)
一个服务中,每个运行实体即为一个实例。实例与进程的关系 实例与进程之间没有必然对应关系,可以一个实例可以对应一个或多个进程(反之不常见)。
集群(cluster)
通常指服务内部的逻辑划分,包含多个实例。常见的实例承载形式 进程、VM、k8s pod …
有状态/无状态服务
服务的实例是否存储了可持久化的数据(例如磁盘文件)。
服务间通信
对于单体服务,不同模块通信只是简单的函数调用。对于微服务,服务间通信意味着网络传输。
负载均衡
负载均衡(Load Balance)负责分配请求在每个下游实例上的分布。
常见的LB策略
Round Robin
Random
Ring Hash
Least Request
稳定性治理
线上服务总是会出问题的,这与程序的正确性无关。
网络攻击
流量突增
机房断电
光纤被挖
机器故障
网络故障
机房空调故障
总结
服务发布:蓝绿部署、灰度发布
基于地区、集群、实例、请求等维度的流量治理功能
几种常见的负载均衡策略
微服务架构中的稳定性治理功能