架构初探| 青训营笔记

64 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第16天

架构的定义

架构,又称软件架构。是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计

架构的重要意义

  1. 架构没设计好,软件容易崩溃,用户体验达不到期望目标。
  2. 架构设计的没问题,软件的稳定性有保障,用户体验也随之提高了。
  3. 良好的架构基础和规范尤为重要,为软件的未来发展提供了方向。

架构的不同类型

单机处理

由一个进程担负所有功能,方便开发者个人理解以及快捷,但不便于后期维护,承载能力也有限。

单体处理

和单机架构类似,只是在单机架构的基础上,将原先的一个进程转变为部署到多个机器上。

微服务

  • 将原先的单一进程功能进行拆分,分成各个不同的服务
  • 让各个服务独立运行,之间通过RPC技术进行相互通信调用。

9cb79badf2f1437cbfb05c2ba0439c9e_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.webp

个人经历

我曾经做过一个分布式微服务的项目,项目技术要点难度不大,重在体验何为分布式应用项目的概念,与今日所学内容同行一路。可能开发的时候比较困难,为了各个服务之间相互整齐对照需要进行额外的设计,但在开发完整个项目之后。回过头来看各个规整的服务模块,语义逻辑清晰,独立启动易纠错,在未来的开发领域,是必然占有一席之地的,甚至成为主流。

总结

  • 架构只是为了提高迭代效率,现在越来越多的需求,复杂的需求,使得整个架构也必须与时俱进。
  • 架构之间没有好坏之分,我们需要对症下药,不同的项目,甚至开发环境需要采用不同的架构