
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,无论是微服务架构开发还是云架构开发都被众多程序员掌握并应用,而本文我们就简单来了解一下,微服务架构与云架构的优缺点分析。
1、微服务架构
微服务架构是服务导向架构的升级。
每一个服务就是一个独立的部署单元。这些单元都是分布式的,互相解耦,通过远程通信协议联系。
微服务架构分成三种实现模式。
RESTfulAPI模式:服务通过API提供,云服务就属于这一类
RESTful应用模式:服务通过传统的网络协议或者应用协议提供,背后通常是一个多功能的应用程序,常见于企业内部
集中消息模式:采用消息代理,可以实现消息队列、负载均衡、统一日志和异常处理,缺点是会出现单点失败,消息代理可能要做成集群
优点
扩展性好,各个服务之间低耦合
容易部署,软件从单一可部署单元,被拆成了多个服务,每个服务都是可部署单元
容易开发,每个组件都可以进行持续集成式的开发,可以做到实时部署,不间断地升级
易于测试,可以单独测试每一个服务
缺点
由于强调互相独立和低耦合,服务可能会拆分得很细。这导致系统依赖大量的微服务,变得很凌乱和笨重,性能也会不佳。
一旦服务之间需要通信(即一个服务要用到另一个服务),整个架构就会变得复杂。的例子就是一些通用的Utility类,一种解决方案是把它们拷贝到每一个服务中去,用冗余换取架构的简单性。
分布式的本质使得这种架构很难实现原子性操作,交易回滚会比较困难。
二、云架构
云架构主要解决扩展性和并发的问题,是非常容易扩展的架构。
它的高扩展性,主要原因是没使用中央数据库,而是把数据都复制到内存中,变成可复制的内存数据单元。然后,业务处理能力封装成一个个处理单元。访问量增加,就新建处理单元;访问量减少,就关闭处理单元。由于没有中央数据库,所以扩展性的大瓶颈消失了。由于每个处理单元的数据都在内存里,好要进行数据持久化。
这个模式主要分成两部分:处理单元和虚拟中间件。
处理单元:实现业务逻辑
虚拟中间件:负责通信、保持sessions、数据复制、分布式处理、处理单元的部署。
虚拟中间件又包含四个组件。
消息中间件:管理用户请求和session,当一个请求进来以后,决定分配给哪一个处理单元。
数据中间件:将数据复制到每一个处理单元,即数据同步。保证某个处理单元都得到同样的数据。
处理中间件:可选,如果一个请求涉及不同类型的处理单元,该中间件负责协调处理单元
部署中间件:负责处理单元的启动和关闭,监控负载和响应时间,当负载增加,就新启动处理单元,负载减少,就关闭处理单元。
优点
高负载,高扩展性
动态部署
缺点
实现复杂,成本较高
主要适合网站类应用,不合适大量数据吞吐的大型数据库应用
较难测试
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。