架构设计方法论
2021-04-22 10:49:18
2
举报
总结了现有微服务系统设计中所需的技术要点,可用于知识点检索和知识点拓展。
设计模式/新的开发模式<br>
6大设计原则
开闭原则
单一原则
接口隔离
里氏替换原则
迪米特法则
依赖倒置原则
23种设计模式
单例
责任链
简单工厂/抽象功能
策略模式
模板方法
组合模式
修饰者
监听者模式
。。。
异步
消息队列
特性
解耦
基于事件驱动的编程模式
失败隔离和自我恢复
削峰填谷
更好的伸缩性
生产者消费者模式
点对点
发布订阅
主要MQ产品<br>
RocketMQ
RabbitMQ
kafka
微服务<br>
服务治理
治理手段
注册中心
服务分层和服务拆分
监控
自动化运维
自动化部署
代码管理
DDD<br>
战略设计<br>
领域
子域
限界上下文
上下文映射图
技术管理<br>
架构设计要点<br>
拆分
系统的管理、协调和调用
集群
缓存
冗余
异步
自动化运维
安全
分布式协作技术<br>
zookeeper
分布式一致性算法 Paxos
Zab 协议
数据存储方案
关系型数据库
MySQL
主从复制
一主多从
主主复制
分库分表
分库分表组件
MyCat
sharding-sphere
Doris
核心组件
DataServer
Store
Administration
技术要点
集群管理 – 健康检查和配置抓取<br>
扩容和数据迁移
设计图方法论<br>
4+1视图模型<br>
业务逻辑视图
开发视图<br>
场景视图<br>
物理视图<br>
过程视图<br>
C4模型<br>
上下文
容器<br>
组件<br>
代码<br>
UML建模<br>
静态建模<br>
用例图
对象图
类图
组件图
包图
部署图
缓存
使用场景<br>
CPU缓存
操作系统缓存
数据库缓存
JVM缓存
CDN缓存
代理与反向代理
前端缓存
应用程序缓存
分布式对象缓存
缓存指标-命中率<br>
缓存键集合大小
缓存可使用内存空间
缓存对象生存时间
分布式缓存架构
分布式一致性Hash算法
LRU淘汰算法
负责均衡<br>
负载均衡算法
轮询
加权轮询
随机
最少连接
源地址散列
负载均衡方案
HTTP 重定向负载均衡
DNS 负载均衡
IP 负载均衡
反向代理负载均衡
数据链路层负载均衡
大数据
HDFS
Yarn
Hive
流处理<br>
Storm
Spark Steaming
Flink
大数据应用
大数据分析和可视化
搜索引擎
数据报表
舆情监测
机器学习
算法
PageRank
KNN 分类算法
贝叶斯分类算法
K-means 聚类算法
系统性能<br>
测试方法
性能测试
负载测试
压力测试
稳定性测试
优化方案<br>
机房与骨干网络性能优化
服务器与硬件性能优化
操作系统性能优化
虚拟机性能优化
基础组件性能优化