架构设计-微服务闲谈(1)

软件架构其实对具体业务需求影响不大,首先要意识到好的架构在落地后并一定直接也业务需求有明显的提升。架构的重要性体现在它提升了整个框架的质量。

软件质量: 可靠性 易用性 可维护性 可移植性 效率 提到最多的是 可维护性 可读性 可扩展性

微服务可以定义为一个将服务独立拆分的软件架构风格,每个服务之间松耦合。

每个微服务都有自己的数据库(个人觉得在很多场景下,并不适用)

微服务架构带来的好处:

使大型的复杂的应用程序可以持续交付,持续部署,持续扩展

每个服务可以独立部署

功能相对简单便于维护

更好的进行分工,实现团队自治

容易应用新的技术(可以拿某个服务 采用新的设计模式 语言 等)

更好的容错(某个服务的内存泄漏,不会拖垮整个业务线)

微服务架构的弊端:

服务的拆分和定义 是一项挑战 ,拆分不好,有可能最后实现的是一个分布式的单体程序

多个微服务之间的交互、部署, 涉及到跨团队的沟通 比如部署时有依赖关系

服务之间测试复杂

开发者需要考虑在软件生命周期哪个阶段采用微服务。需要在快速发展的业务和精心设计的微服务应用架构之间的取舍

你可能感兴趣的:(微服务,microservices,架构)