架构知识图谱
2022-06-10 15:58 虎背熊腰 阅读(140) 评论(0) 编辑 收藏 举报 1: 什么是架构
架构=数据结构+算法+关系
软件整体结构与组件的抽象描述
2: 为什么需要架构
为了应对软件系统复杂度而提出的一个解决方案
3: 架构知识图谱

知识体系:架构类型,技术架构表现形式,常见架构模型,架构基础知识,架构设计原则和oo过程,架构图只是架构的描述形式而已
SOA常见功能表现形式:开发框架;基础服务;SOA服务节点;服务生态【压测,监控,巡检,性能优化】
SOA设计原则:
单一原则,接口分离原则,一致性原则,面向失败原则,松耦合原则,无状态原则,也可以参考业界IDEALS原则
SOA特性: 高度自治,可重用,无状态特性,独立部署
4:怎么优化架构
怎么去做架构
1: 整理当前架构视图,
2: 根据合理性去拆分业务
3: 埋点观测数据,RT,QPS,trace 等指标观察性能
4: 然后根据kiss原则,无状态原则,可靠性等原则优化
5: 使用设计模式让代码更优美
6:主要技术手段负载均衡,主从,持久化,异步,队列,分布式,微服务等等,最终目标是要简单,高扩展,可观测的技术架构
5: 怎么去落地架构设计
分离聚合法: 业务分析【项目现状分析】 + 业务架构图 + 领域划分 + 技术分层架构图设计 + 流程图 + 评审
不过最重要的还是要快,先采用最简单的技术实现
6:衡量架构指标
高可用
一致性
可伸缩(扩展能力)
可观测: RT,QPS,Exception
解耦
7: 什么是架构师,架构师职责
为团队技术架构保驾护航的人,动态调整技术,组织架构适应业务的发展,提高技术架构稳定性
8: 常见的技术架构模式
单体架构,EJB,主从,集群,SOA,云原生,异地多活架构
9: 架构常用的技术解决方案
负载均衡,缓存,异步,分库分表,主从,SOA,分布式,APM
10: 架构常用的设计方法【从思想上和技术上来说】
思想上:抽像,拆分,聚合,主动发现,解耦;
技术上:分表分库,负载均衡,APM监控,SOA,异步,主从,缓存等
抽象: 抽象设计,提取
拆分:可以根据业务,性能多维度拆分,DDD【分层架构,六边行架构】,SOA ,分库分表
扩展: 当业务变更时不是没次都从头设计,而是通过扩展方式增加对业务的支持,开闭原则,面向接口编程
自动化: CI/CD, devops,熔断降级、
高可用(存储,数据,业务): 负载均衡,主从,集群,缓存,SOA,服务注册和发现,服务降级,异地多活
主动发现:APM 添加日志发现潜在的问题,metric,elk
解耦:
数据弱一致性: 业务解耦,本地消息表
数据隔离: 灰度验证系统
11: 架构师做什么事情,怎么落地架构
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架