失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 软件架构入门及分类——微服务架构

软件架构入门及分类——微服务架构

时间:2019-12-27 14:03:00

相关推荐

软件架构入门及分类——微服务架构

架构描述

微服务架构(microservices architecture)是服务导向架构(service-oriented architecture,缩写 SOA)的升级。

每一个服务就是一个独立的部署单元(separately deployed unit)。这些单元都是分布式的,互相解耦,通过远程通信协议(比如REST、SOAP)联系。

微服务架构分成三种实现模式。

RESTful API 模式:服务通过 API 提供,云服务就属于这一类RESTful 应用模式:服务通过传统的网络协议或者应用协议提供,背后通常是一个多功能的应用程序,常见于企业内部集中消息模式:采用消息代理(message broker),可以实现消息队列、负载均衡、统一日志和异常处理,缺点是会出现单点失败,消息代理可能要做成集群

优点

扩展性好,各个服务之间低耦合容易部署,软件从单一可部署单元,被拆成了多个服务,每个服务都是可部署单元容易开发,每个组件都可以进行持续集成式的开发,可以做到实时部署,不间断地升级易于测试,可以单独测试每一个服务

缺点

由于强调互相独立和低耦合,服务可能会拆分得很细。这导致系统依赖大量的微服务,变得很凌乱和笨重,性能也会不佳。一旦服务之间需要通信(即一个服务要用到另一个服务),整个架构就会变得复杂。典型的例子就是一些通用的 Utility 类,一种解决方案是把它们拷贝到每一个服务中去,用冗余换取架构的简单性。分布式的本质使得这种架构很难实现原子性操作,交易回滚会比较困难。

如果觉得《软件架构入门及分类——微服务架构》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。