一、Spring Cloud
Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。最关键的是它足够简单,一般的开发人员只需要几天时间就可以学会它的基本用法。
简言之,spring cloud 就是一堆微服务框架的一个集合。
微服务框架离不开服务治理-注册与发现、智能路由负载均衡等主题。Spring Cloud 就集成了这一圈开发微服务必不可少的框架,整合成一套名为spring cloud,致力于让开发人员更快、更简单的面向服务开发。
所以spring cloud包含了多个子项目,每个项目都是针对分布式服务开发而生的开源产品,如Netflix公司贡献的Netflix Eureka、Ribbon、Feign、Hystrix、Zuul都被spring 收纳成为spring cloud 重要组成部分,发挥着各自不同的重要作用。
下面笔者就一一介绍spring cloud中5大主要核心组件,江湖人称“spring cloud 五大神兽”。
二、微服务架构
简单的说,微服务架构就是将一个完整的应用从数据存储开始垂直拆分成多个不同的服务,每个服务都能独立部署、独立维护、独立扩展,服务与服务间通过诸如RESTful API的方式互相调用。
三、Eureka 服务注册与发现
使用类似dubbo等微服务架构开发应用,离不开服务的注册与发现。spring cloud Eureka (服务注册与发现中心)在spring cloud大家庭中就扮演了服务注册与发现的角色。
这里先演示一个Eureka demo,直观的看看Eureka服务发现技能。
创建Eureka服务注册中心
1、引入pom依赖