天天看点

系列1-springCloud微服务-Eureka注册中心

前言:本文个人整理笔记记录,难免有错误,欢迎大家留言指正

Eureka注册中心在集群中的位置是处于核心位置,所有的微服务通过Eureka进行管理发现。Eureka注册中心中保存有各个微服务的服务名称以及服务连接地址。便于微服务的集群操作。 创建所有微服务的父项目springCloud,命令如下:

mvn archetype:generate -DgroupId=com.ultrapower -DartifactId=springCloud -Dversion=0.0.1-SNAPSHOT -DarchetypeArtifactId=maven-archetype-site-simple -DarchetypeGroupId=org.apache.maven.archetypes  -DinteractiveMode=false  -DarchetypeCatalog=local

生成的父项目的目录结构中,删除掉所有的文件夹,只保留pom.xml,在pom中添加如下配置:

<properties> <jdk.version>1.8</jdk.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>1.5.9.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.SR4</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>

1.Eureka注册中心服务端配置 步骤1:在父项目下新建【springCloud-Eureka】

mvn archetype:generate -DgroupId=com.ultrapower -DartifactId=springCloud-Eureka -Dversion=1.0.0-SNAPSHOT -Dpackage=com.ultrapower -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeGroupId=org.apache.maven.archetypes -DinteractiveMode=false -DarchetypeCatalog=local

步骤2:修改【springCloud-Eureka】项目的pom.xml添加如下依赖

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency>

步骤3:修改【springCloud-Eureka】项目的application.yml文件

server: port: 8000 eureka: client: register-with-eureka: false fetch-registry: false serviceUrl: defaultZone: http://127.0.0.1:${server.port}/eureka/

步骤4:修改【springCloud-Eureka】项目的启动类

@EnableEurekaServer @SpringBootApplication public class EurekaApplication {

public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args);

}

}

2.Eureka注册中心客户端配置 步骤1:新建微服务【springCloud-UltraService-8800】新建命令参考Eureka服务端命令,后面不再说明。修改pom.xml文件,添加如下依赖

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency>

步骤2:修改【springCloud-UltraService-8800】的application.yml文件,添加如下内容:

spring: application: name: springCloud-UltraService server: port: 8800 eureka: client: serviceUrl: defaultZone: http://127.0.0.1:8000/eureka/

步骤3:修改【springCloud-UltraService-8800】的启动类

@SpringBootApplication @EnableEurekaClient public class UtralServiceApplication {

public static void main(String[] args) { SpringApplication.run(UtralServiceApplication.class, args); }

}

步骤4:启动Eureka服务端和客户端,进行测试。访问http://localhost:8000/erueka,看客户端是否注册到注册中心中去了。 3.Eureka的集群部署 首先说明一下,Eureka的集群注册有两种方式,例如三个节点A,B,C 方式一:A注册B,B注册C,C注册A 方式二:A注册BC,B注册AC,C注册AB 我们采用方式二进行注册 步骤1:复制之前创建好的【springCloud-Eureka】两份分别起名为【springCloud-Eureka-8001】,【springCloud-Eureka-8002】,【springCloud-Eureka-8003】分别修改三个项目中的application.yml配置文件中的对应启动端口和注册地址, 注意,应用名称不需要修改

server: port: 8001 eureka: client: register-with-eureka: false fetch-registry: false serviceUrl: defaultZone: http://127.0.0.1:8002/eureka/,http://127.0.0.1:8003/eureka/

步骤2:客户端只需要修改application.yml

eureka: client: serviceUrl: defaultZone: http://127.0.0.1:8001/eureka/,http://127.0.0.1:8002/eureka/,http://127.0.0.1:8003/eureka/

步骤3:启动验证访问三个Eureka地址,都可以看到其他的两个Eureka服务以及客户端服务: http://127.0.0.1:8001 http://127.0.0.1:8002 http://127.0.0.1:8003 4.Eureka的安全认证 在spirngCloud框架中,无论是注册中心,配置中心,路由还是到对应的微服务,都需要设置安全认证机制,详细的设置步骤参照“ 系列2-springCloud微服务-Security安全认证模块”,

继续阅读