课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了软件开发分布式架构的一些基础知识等内容,而本文我们就继续来学习一下,微服务架构应用优缺点分析。
微服务架构是分布式架构的深化,分布式架构偏向于部署和环境,比如上边提到的应用、数据库、缓存等,在多台机器上进行部署,就属于分布式。微服务架构通过业务拆分实现服务组件化,通过组件组合快速开发系统,业务单一的服务组件又可以独立部署,使得整个系统变得清晰灵活。
大量的分布式服务又使得架构实现面临问题,如服务注册发现,服务统一接入和权限控制,服务的负载均衡,服务配置的集中管理,服务熔断,服务监控等。
所以微服务架构是由这些基础的服务组件和业务微服务组件共同组成:
服务注册发现组件:进行服务治理
服务网关组件:提供统一入口和权限控制
负载均衡组件:提供客户端或服务器端的负载均衡
集中配置组件:提供服务集中管理
熔断器组件:提供服务熔断
服务追踪组件:提供服务监控
采用微服务架构后,项目可以快速迭代与持续交付。但是也带了一些弊端,开发人员除了需要关注业务逻辑实现外还需要考虑业务的一系列问题,比如服务注册,服务发现,服务通讯,负载均衡,服务熔断,服务超时等,这些是非常重要的。
1、为什么需要服务化
传统企业或者很多企业的软件,大多不止一套系统,都是各个独立大系统的堆砌。整体存在的问题是:
扩展性差
可靠性不高
维护成本还很大
重复轮子很多
非常容易能够想到,解决这些问题的方法是:组件化、服务化。
微服务架构,将各个组件或者模块分散到各个服务中,对整个系统实现解耦。那微服务架构强调的重中之重就是业务系统需要完善的组件化和服务化。什么是组件化?
组件化,即将一个大系统,按照一定的业务或者技术维度,拆分成独立的组件。目的是为了分而治之,为了可重用,为了减少耦合度。比如按照技术维度:文件上传下载组件、短信发送组件、搜索组件、缓存组件;按照业务维度:用户中心、商品中心、支付中心等。
阿里巴巴提出大中台,小前台战略,就是把组件化、插件化、服务化解决方案到极致。通过产品线公共业务或者技术下沉,形成各种技术中台或者业务中台。
2、服务化的好处
调用简单
代码复用
业务隔离
数据库解耦
3、服务化的问题
有利必有弊,服务化也会面临很多问题:
本身不大的系统,业务不复杂的系统也不需要微服务架构
多个模块数据库,分布式事务是一个挑战
增加了测试、运维等事务的复杂性
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。