架构学习(一)

发布时间:2026/7/28 19:22:20
架构学习(一) 架构学习1.概念认识软件架构在软件的内部,考虑综合因素,选特定的技术,将系统划分不同部分,不同模块,并且相互分工和协作 的 一种方案综合因素有:业务需求,技术栈,成本,组织结构,可扩展性,可维护性单体架构业务功能都集中在一起,部署运行在同一进程中或机器中优:易开发,已测试,易部署,易水平伸缩缺:代码膨胀,难维护(bug分析定位修复成本高,代码量大的时候,开发人员对全局功能了解也非常缺乏,牵一发而动全身,修复这个bug引起其他bug,恶性循环,维护困难)部署成本大,创新差,难扩展,新人上手难微服务多微才算微?代码量?开放时间?不可度量 传递的是一种设计思路与思想微服务的特征单一职责轻量级通信隔离性有自己的数据技术多样性单体架构:微服务:微服务优势独立性敏捷性技术栈灵活高效团队开发微服务不足额外工作,拆分 (DDD了解一下)数据一致性沟通成本2.引入微服务带来的问题与解决方案微服务之间如何通讯?从通讯模式角度考虑:一对一还是一对多?同步还是异步?从通讯协议角度考虑:Restful apiRPCMQ如何选择rpc框架微服务如何发现彼此?传统服务 微服务发现微服务怎样部署?更新?扩容?服务编排