相关文章:
Spring cloud - 概述
Spring cloud eureka - 注册中心
Spring cloud feign - RPC
Spring cloud ribbon - 负载均衡
Spring cloud hystrix - 断路器
Spring cloud hystrix dashboard - 断路器dashboard
Spring cloud zuul- 网关
1.关键字
微服务、拆分、组件化、分布式、五大核心组件
2.微服务
要了解spring cloud就绕不开微服务这个概念。因为spring cloud是spring为微服务架构思想做的一个一站式实现。从某种程度是可以简单的理解为,微服务是一个概念、一个项目开发的架构思想。spring cloud是微服务架构的一种java实现。
什么是微服务?
微服务没有一个标准统一的概念,个人理解为:微服务是一种可以让软件职责单一、松耦合、自包含、可以独立运行和部署的架构思想。
关键思想就是:拆分、单一、独立、组件化。把原本一个庞大、复杂的项目按业务边界拆分一个一个独立运行的小项目,通过接口的方式组装成一个大的项目。
微服务解决了什么问题?
微服务的出现及流行,一定有它的过人之处,既解决了非微服务项目的部分问题或缺点。
相对于微服务,普通的项目都会包含很多功能的,是一个大而全的“超级”工程。比如:以普通架构方式实现的电商平台会是一个包含:登录、权限、会员、商品库存、订单、收藏、关注、购物车等功能的单一项目。随着项目业务越来越复杂、开发人员越来越多相应开发、编译、部署、技术扩展、水平扩展都会受到限制。
3.spring cloud
微服务是一个架构思想,并不是一种实现,它指明了解决单体应该缺点的方向,但并没有给定相应的实现和解决方案以及细节。
spring cloud是spring提供的,基于spring boot以及结合Netflix 相关思想和代码对微服务理念的java实现。spring cloud本质上是分布式解决方案,但微服务最终也落实到分布式,因此也是对微服务的实现方案。
Spring Cloud 为开发人员提供了一些可以用于快速构建分布式系统通用模式的工具(例如:配置管理、服务注册与发现、断路器、智能路由、微代理、控制总线)。分布式系统的协调趋于一些模版模式, 并且,使用Spring Cloud使开发人员可以快速创建实现了这些模式的服务和应用。 他们可以在任何的分布式环境中良好运行,这些环境包括开发人员自己的笔记本、裸机上的数据中心、像Cloud Foundry这样的托管平台(云平台)。
spring cloud主要提供了分布系统中以下几个开箱即用的功能:
分布式/版本化/集中化配置 - spring cloud config 服务注册发现 - Netflix Eureka 路由 - Netflix Zuul 服务之间的点对点调用(Service-to-service calls) 负载均衡-Netflix Ribbon 断路器 - Netflix Hystrix 分布式消息
五大核心组件:
服务注册发现 - Netflix Eureka
配置中心 - spring cloud config
负载均衡-Netflix Ribbon
断路器 - Netflix Hystrix
路由(网关) - Netflix Zuul
4.接下来
本节主要简单了解spring cloud产生的一些背景信息,以及spring cloud的5大核心组件,接下来会详细学习各个组件的使用。