1、分布式由来
随着互联网的发展,网站的业务复杂度、代码量、用户数量及并发量等信息猛增,常规的单体应用架构方式已经不足以满足需求,继而出现了分布式架构方式。
分布式架构:根据不同的业务功能,将系统拆分为彼此独立的项目进行开发,每个独立的项目称为一个服务。
2、分布式优缺点
优点:
- 指定的服务提供指定功能,体现的高内聚、低耦合的设计思想。
- 有利于服务升级和水平扩展。
- 团队开发效率高。。。
缺点:
- 服务间相互调用关系错综复杂。
- 分布式系统开发技术成本高(分布式事务、分布式锁等)。
- 从系统整体来说复杂度变高。。。
3、微服务
微服务是也是一种架构风格,是分布式架构的进一步发展,相比于分布式架构风格,微服务拆分的粒度更加精细,服务间采用Restful风格的http协议进行相互调用。微服务的实现方案有很多,其中使用最多的就是SpringCloud。
SpringCloud
官网:https://spring.io/projects/spring-cloud
。
SpringCloud提供了微服务架构风格一站式解决方案,例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话,集群状态等等。
SpringCloud底层是依赖于SpringBoot的,并且有版本的兼容关系,如图:
SpringCloud Netflix与SpringCloud Alibaba
从官网中可以看到,SpringCloud Netflix
、SpringCloud Alibaba
都是SpringCloud微服务一站式解决方案中的一部分。
Netflix是美国网飞公司,Alibaba是中国阿里巴巴公司,二者对微服务架构都有一套自己的实现方案,且开源整合到了SpringCloud生态中。两者都集中解决了微服务架构中面临的一些常见问题,如服务治理、远程调用、负载均衡、统一入口、服务容错、链路追踪等等。