这是我参加青训营的第32天,今天我复习并整理了青训营课程中的客户端架构设计和应用有关的课程笔记。并从三个方面来整理记录。
1.常见的架构
- 单体架构:快速组织界面交互,业务逻辑和数据之间的关系。
优点:快速成型,管理简单。缺点:依赖复杂,单点失效。
- 分离架构:分而治之,拆分方式多种多样。
优点:业务分层清晰,组件复用。缺点:强制遵循规划,业务依旧耦合。
- 服务化架构:设立业务之间的接口契约
优点:业务解耦更内聚。缺点:服务数量膨胀。
- 微服务架构:配套服务注册和发现机制,组织异构业务。
优点:服务隔离可插拔,局部失效影响可控。缺点:管理成本高,调用链路长。
- 领域驱动设计(DDD):战略设计从业务视角出发,建立业务领域模型。 战术设计从技术视角出发,侧重于技术实现。
优点:解决复杂业务问题,架构随着业务发展。缺点:需要成熟团队和经验高度抽象
2.架构面临的问题
-
架构设计是为了解决特定领域不同发展阶段的业务问题
-
不同领域的架构有明显的技术差异,但也有很多相似性
-
架构不仅面临技术挑战,还要应对组织业务膨胀的熵增
-
移动端需要利用有限的设备资源设计符合小屏幕的架构
3.如何成为一名架构师
-
定义问题 → 确定架构 → 方案落地 → 结果复盘
-
架构的问题是盘根错节的,将所有问题放在一起,就有轻重缓急之分,就有类别之分
-
挑战、问题、手段这些经常混为一谈,哪些是挑战?哪些是问题?那些是手段?
-
勤于编码,有技术追求