架构
...大约 4 分钟
架构
架构设计的目的是解决软件系统的复杂度带来的问题。架构即(重要)决策,是在一个有约束的盒子里去求解或接近最合适的解。这个有约束的盒子是团队经验、成本、资源、进度、业务所处阶段等所编织、掺杂在一起的综合体(人,财,物,时间,事情等)。架构无优劣,但是存在恰当的架构用在合适的软件系统中,而这些就是决策的结果。
架构设计原则:合适原则、简单原则、演化原则。合适优于先进 => 演化优于一步到位 => 简单优于复杂
架构设计有业务需求驱动,需要识别出主要问题,然后根据业务、技术、团队、成本等综合评估排序,优先解决当前面临的最主要的复杂度问题。
架构设计一般要给出多套备选方案(3 ~ 5 个最佳),并评估各方案利弊。
评估方案时,应该先列出关注的维度(如:功能性、性能、可用性、复杂度、硬件成本、运维成本等),然后根据这些维度去评估打分,再综合挑选最合适当时情况的方案。
架构失败的主因:
- 没那么多人,却想干那么多活
- 没有那么多积累,却想一步登天
- 没有那么卓越的业务场景,却幻想灵光一闪成为天才
📖 内容
综合
微服务
- 微服务简介 - 关键词:
定义
、演进
、利弊
、如何拆分
、容量规划
、核心组件
- 微服务之注册和发现 - 关键词:
服务定义
、注册中心
、元数据
、健康检查
、服务订阅
、一致性
- 微服务之服务调用 - 关键词:
RPC
、通信协议
、传输方式
、序列化
- 微服务基本原理 - 关键词:
微服务
、序列化
、动态代理
、通信
、服务注册发现
、健康检查
、路由
、负载均衡
、容错处理
、优雅上线下线
、限流
、熔断
、业务分组
安全
📚 资料
- 书籍
- 《大型网站技术架构:核心原理与案例分析》 - 浅显易懂的将解大型网站架构演进之路;简介了大型系统所面临的挑战以及核心技术点。
- 《大型网站系统与 Java 中间件实践》
- 《亿级流量网站架构核心技术:跟开涛学搭建高可用高并发系统》
- 《企业 IT 架构转型之道:阿里巴巴中台战略思想与架构实战》 - 阐述阿里巴巴中台系统发展,更多的是讲解应用场景和能力,没有讲解技术细节。
- 《逆流而上:阿里巴巴技术成长之路》 - 主要以运维的视角阐述系统运维中遇到的困难,定位思路以及解决方法。
- 教程
🚪 传送
◾ 💧 钝悟的 IT 知识图谱 ◾
Powered by Waline v2.15.7