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