Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务注册发现、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键部署和启动。Spring Cloud并没有重复造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,总重给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。(摘录来源:Spring Cloud 百度百科)
在简单介绍Spring Cloud之后,我们先引入Eureka注册中心的概念,顾名思义,Eureka是一个注册服务的地方,但是怎么注册服务?注册以后给谁使用?如何使用Eureka中的服务?具体情况我们通过现实生活中一个的场景来理解。
假如今天是周六,我要跟女神一起去逛商场,我们都知道商场外面会有很多广告牌或者指引牌告诉大家商场有哪些入驻的商家或服务,比如一楼有肯德基,二楼海底捞,三楼优衣库等等。我们都知道,这些商家入驻商场肯定得交租金,交完租金才能入驻。在这里,我们可以把商场看成是Eureka注册中心,把商家看成是服务提供者,商家向商场交了租金,就入驻到了商场,这里就有一种注册的概念。
创建一个基础的Spring Boot工程(以IDEA开发工具快速构建)
org.springframework.boot
spring-boot-starter-parent
1.3.5.RELEASE
com.jqcode
eureka-register
0.0.1
eureka-register
eureka-registerCenter
1.8
org.springframework.boot
spring-boot-starter
org.springframework.cloud
spring-cloud-starter-eureka-server
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.cloud
spring-cloud-dependencies
Brixton.RELEASE
pom
import
org.springframework.boot
spring-boot-maven-plugin
在启动类上加上注解@EnableEurekaServer,提供给其它应用进行会话。这个@EnableEurekaServer注解可以看做是一个开关,开启时,会激活Eureka相关配置,会作为Spring Cloud的注册中心。
@EnableEurekaServer // 开启Eureka配置,作为Spring Cloud注册中心
@SpringBootApplication
public class EurekaRegisterApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaRegisterApplication.class, args);
}
}
#注册中心服务端口
server.port=8000
#不将自身注册到注册中心,默认为true
eureka.client.register-with-eureka=false
#不从服务注册清单中获取服务
eureka.client.fetch-registry=false
#注册中心服务地址
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka
能访问到此页面说明服务正常,该页面为Eureka注册中心可视化界面,主要用来辅助我们观察服务注册状态,后面我们会分析,至此,一个Eureka注册中心就快速构建完毕了(商场已经建立好了,接下来商家就可以入驻了)。