微服务基础

查看Service Mesh,微服务架构设计这本书
单体服务
单体服务的好处:
应用开发简单。
易于对应用程序进行大规模的更改。
测试相对简单直观。
部署简单明了。
横向扩展不费吹灰之力。
传统单体服务的问题:
1.开发效率低
2.可维护性差
3.架构扩展性差
4.部署不灵活
5.健壮性差
扩展立方体
X轴扩展:在多个实例之间实现请求的负载均衡。
Z轴扩展:根据请求的属性路由请求。
Y轴扩展:根据功能把应用拆分微服务。
微服务架构的定义
微服务架构是将单个服务拆分成一系列小服务,这些小服务都拥有独立的进程,通过HTTP RESTful API之类的轻量级通信方式进行通信,而作为独立的业务服务,则可采用一些自动化部署机制独立部署,每个服务可以使用不同的开发语言和数据存储技术,实现去中心化的服务管理。
微服务架构的核心诉求是支撑敏捷开发和部署,因此微服务架构的本质是如何优雅地支持微服务的拆分和组合,如何进行合理的架构拆分,如何最大限度地减少微服务之间的沟通成本,这就是微服务架构的关键所在。
微服务的收益
业务发展快:多个微服务可以独立开发、独立测试、独立运维,不同团队可以并行开发,互不影响,可以有力地支撑业务的快速迭代,方便业务创新和试错。
业务高并发:每个微服务都可以独立进行容量评估,非常灵活,可以很好地支持业务的高并发需求。
微服务架构的弊端
1.服务的拆分和定义是一项挑战
2.分布式系统带来的各种复杂性,使开发、测试和部署变得更困难。
3.当部署跨越多个服务的功能时需要谨慎地协调更多开发团队。
4.开发者需要思考到底应该在应用的什么阶段使用微服务架构。
微服务拆分
拆分方法:
1.以数据为维度进行拆分
2.按照使用场景拆分服务
3.重要和非重要的拆分
4.变和不变的拆分
强依赖:如果该链路通信失败会导致整个请求处理失败,一般将这两个微服务之间的关系称之为强依赖。
弱依赖:反之,称为弱依赖。我们可以基于服务的强弱依赖关系进行降级、熔断等处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值