架构师能力图谱
2021-11-16 10:58:10 46 举报
AI智能生成
架构师能力图谱
作者其他创作
大纲/内容
职责(架)
框架设计
架构建模的方法和工具
UML-静态图
用例图
对象图
类图
组件图
包图
部署图
UML-动态图
协作图
时序图
活动图
状态图
架构设计文档
需求
部署图
系统架构图
组件图
时序图
软件框架的基本概念
强内聚、低耦合
易扩展
更健壮
可移植
更简单
框架与工具的区别
框架调用应用程序代码
应用程序代码调用工具
提高开发效率
开发软件框架的基本方法和原则
开闭原则
依赖倒置原则
里氏替换原则
单一职责原则
接口隔离原则
系统架构设计需要关注哪些方面
分层
分割
分布式
集群
缓存
异步
冗余
自动化
安全
高并发系统架构面临怎样的挑战
高可用 7×24 小时在线
海量数据
安全环境恶劣
需求快速变更,发布频繁
渐进式发展
模块分解
微服务架构
Service Provider 服务提供者
Service Requester 服务消费者
Service Broker 服务注册中心
微服务架构落地
命令与查询职责隔离(CQRS)
事件溯源
断路器
服务重试及调用超时
最重要的是需求
1.Needs
2.Values
3.Prlnclples
4.Practice
5.Tools
模块分解的设计原则:模块的边界在哪里
失效转移
负载均衡
高效的远程通信
对应用最少侵入
版本管理
微服务框架Dubbo设计原理与RPC实现分析
服务注册中心服务器
服务提供者服务器
服务消费者服务器
领域驱动设计
从领域出发,分析领域内模型及其关系,进而设计软件系统的方法
子域
限界上下文
上下文映射图
事件驱动架构
网关架构
网关作用
统一接入
安全防护
协议适配
流量管控与容错
微服务网关
服务注册中心
服务提供者
服务消费者
高并发系统经历怎样的演化历程
1.单体架构
2.应用、数据分离
3.使用缓存改善系统性能
4.应用服务器集群
5.数据库读写分离
6.使用反向代理和CDN加速网站响应
7.使用分布式文件系统和分布式数据库系统
8.使用 NOSQL 和 搜索引擎
9.业务拆分
10.微服务和中台化
11.大数据与智能化
技术选型
分布式技术
分布式缓存
CPU缓存
操作系统缓存
数据库缓存
JVM编译缓存
CDN缓存
代理与反向代理缓存
前端缓存
应用程序缓存
分布式对象缓存
分布式数据库
MySQL主从复制
MySQL一主多从复制
MySQL主主复制
分布式数据库中间件
HBASE
分布式一致性Zookeeper
分布式锁
CAS(Campare-And-Swap)
V 更新的变量
E 预期值
N 新值
偏向锁、轻量级锁、重量级锁
总线锁、缓存锁
公平锁、非公平锁
可重入锁
独享锁/互斥锁、共享锁、读写锁
乐观锁、悲观锁
分段锁
自旋锁
分布式应用和服务
分布式静态资源
分布式计算
分布式事务
消息队列
消息生产者
消息队列
消息消费者
负载均衡
HTTP重定向负载均衡
DNS负载均衡
反向代理负载均衡
IP负载均衡
数据链路层负载均衡
NOSQL数据库架构
搜索引擎架构
网络爬虫
网页去重
云存储与云计算
倒排索引
链接关系
内容相似性
链接分析
网页排序
Cache系统
检索分析
大数据技术
大数据原理概述
2004年 Google GFS、MapReduce、BigTable
2006年 Hadoop
2011年Pig、Hive
2012年Tarn、Spark
流计算Flink、SparkStreaming
数据外键与机器学习TensorFlow
分布式系统HDFS
以流式数据访问模式存储超大文件
运行于硬件集群上
一次写入多次读取
NameNode中心服务器
DataNode文件存储在磁盘上
大数据计算框架MapReduce
map函数 分词
reduce函数排序、合并
大数据集群资源管理系统Yarn
ResourceManager资源管理器
每个应用的ApplicationMaster
NodeManager节点管理器
大数据仓库Hive
核心是Driver把SQL,compiler转换为MapReduce能处理的数据结构
快速大数据引擎Spark
DAG有向无环图切分的多阶段计算更快速
使用内存存储中间计算结果更高效
RDD的编程模型更简单
实时流式大数据Flink、Storm、Spark Streaming
低延迟
高性能
分布式
可伸缩
高可用
大数据分析
数据大屏
数据指标
新增用户数
用户留存率
活跃用户数
PV
GMV
转化率
数据挖掘
PageRank算法
KNN分类算法
数据距离算法
欧式距离计算公式
余弦相似度计算公式
提取文本的特征值 TF-IDF 算法
贝叶斯分类算法
K-means聚类算法
推荐引擎算法
机器学习
样本
模型
算法
区块链技术
将交易放入区块,将区块构成单向链表,即区块链,以避免双花
AI技术
数据采集
数据处理
数据输出与展示
任务调度管理系统
物联网技术
性能优化
系统性能的主要技术指标
响应时间
并发数
吞吐量
系统性能测试与分析
性能测试
负载测试
压力测试
性能优化三板斧
缓存
异步
集群
操作系统与程序运行时性能分析
数据结构与内存对象访问性能分析
文件IO性能优化与分析
TCP/IP协议分析与网络IO优化
数据库原理与SQL性能分析
JVM虚拟机原理与垃圾回收性能分析
大规模分布式系统性能优化的7层协议及案例分析
代码重构
糟糕的代码因需求变更而逐渐腐坏
糟糕的代码有哪些特点
优雅的代码应该是什么样子
使用设计模式优化代码
JUnit的设计模式分析
实现依赖倒置原则的代码案例分析
Spring中的设计模式分析
大数据仓库架构设计分析
安全稳定
组件设计原则
组件内聚原则
复用发布等同原则
共同封闭原则
共同复用原则
组件耦合原则
无循环依赖原则
稳定依赖原则
稳定抽象原则
高可用系统的度量标准
可用性指标4个9,年度停机小于53分钟
通过KPI提高系统的高可用
事故级故障100:严重故障,网站整体不可用
A类故障20:网站访问不顺,或核心功能不可用
B类故障5:非核心功能不可用,或核心功能少数用户不可用
C类故障1:以上故障以外的其它故障
系统高可用运维
自动化测试
自动化部署
预发布验证
代码版本控制
灰度发布
网站运行监控
警报
系统安全架构,避免数据泄露
XSS跨站脚本攻击
SQL注入攻击
CSRF跨站点请求伪造攻击
安全防护
网站安全漏洞扫描
应用防火墙
沟通管理
开发规约
团队协作协议
敏捷开发
解决方案(构)
系统高可用
解耦
隔离
异步
备份
失效转移
幂等
事务补偿
重试
熔断
限流
降级
异地多活
分库分表
异地多活
自动化测试
接口
网页
app
小程序
中台
部署
容器编排
k8s
Mesos
ServiceMesh
处理服务间的通信
Severless
流媒体
数据分析
监控
即时消息
Devops
秒杀
0 条评论
下一页