springcloud可以方便的帮我们完成微服务架构,它拥有多个子项目,可以去官网简单看下介绍。
其中component下的代表着现有的子项目,本次所记录的eureka就是其中spring-cloud-netflix里的一个模块。
eureka在我们微服务架构中实现的就是服务发现与注册的功能,我们可以称之为注册中心,即我们开发的服务注册到该注册中心,同时服务消费端来注册中心订阅服务。
我们可以直接编码尝试下:
我使用的工具是STS是spring官方推荐的编辑器,它可以帮我们快速构建springBoot应用。
右键New->Spring Starter Project ,填写相应内容->点击next
选择需要的依赖包,我们这里由于是用eureka构建一个注册中心,所以我们勾选Eureka Server,然后点击finish
附上完成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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.point</groupId>
<artifactId>point-eurekaServer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>point-eurekaServer</name>
<description>test eurekaServer</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Dalston.SR2</spring-cloud.version>
</properties>
<dependencies>
<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>
</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>
这样STS就帮我们创建了好了一个基本的应用,当然我们还需要简单配置一下就可以使用我们的注册中心了
在入口类添加@EnableEurekaServer,表示我们这个项目为注册中心服务。
@EnableEurekaServer
@SpringBootApplication
public class PointEurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(PointEurekaServerApplication.class, args);
}
}
在application.properties配置端口以及注册地址等配置。
server.port=1000
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
server.port:表示当前应用端口
eureka.client.register-with-eureka:表示自己是eureka服务,不需要注册到其他注册中心上。
eureka.client.fetch-registry:表示是否从eureka服务器获取注册信息
eureka.client.serviceUrl.defaultZone:注册地址,其他服务通过该地址进行服务注册以及订阅
配置完以上后,我们启动项目,http://localhost:1000
看到此界面,表示启动成功,我们成功部署了一个eureka注册中心。