导语:Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包!
第一步:创建服务注册中心
-
使用IDEA创建一个主maven工程,主maven工程(父工程)只需要保留pom文件即可,其中src等不需要目录可以删除掉!
-
在父工程中创建一个Moudle,作为服务注册中心,即Eureka Server
右键工程->创建model-> 选择spring initialir :
-
下一步->选择cloud discovery->eureka server
继续下一步后即可
-
创建完成主要检查pom文件的依赖项
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.shitou.cloud</groupId>
<artifactId>dsc-eureka</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>dsc-eureka</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR3</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</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>
</project>
-
在启动类中加入注解@EnableEurekaServer 开启注册中心
@SpringBootApplication
@EnableEurekaServer
public class DscEurekaApplication {
public static void main(String[] args) {
SpringApplication.run(DscEurekaApplication.class, args);
}
}
-
配置文件,指定注册服务中心地址及端口
server:
port: 8761 #服务端口
eureka:
instance:
hostname: localhost #注册中心地址Url 目前我们可以指定本机
client:
registerWithEureka: false
fetchRegistry: false # eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}
/eureka/
-
注册中心内置了界面,我们可以通过配置文件的地址进行访问:如上配置指定的注册中心地址为:localhost:8761
推荐阅读:
下篇预告:服务发现:Eureka客户端