SpringCloud注册中心高可用搭建

之所以进行eureka集群的搭建,在于我们平时的生产环境中,很难保证单节点的eureka服务能提供百分百不间断的服务,如果eureka无响应了,整个项目应用都会出现问题,因此要保证eureka随时都能提供服务的情况下,最好的方式就是采用eureka的集群模式,也就是搭建eureka的高可用,在eureka的集群模式下,多个eureka server之间可以同步注册服务,因此,在一个eureka宕掉的情况下,仍然可以提供服务注册和服务发现的能力,从而达到注册中心的高可用。


SpringCloud注册中心高可用搭建_第1张图片

3个节点的集群,每个节点向其它节点注册,这样只要集群中有一个节点正常工作即可



正式开始

一.建立项目

本项目主要还是使用了多模块进行开发,包括服务注册中心模块,商品服务模块和订单模块,本篇文章主要讲解的是如何搭建eureka的高可用,所以使用三个eureka服务注册中心,以及product商品服务模块进行搭建即可。项目目录如下图所示:


SpringCloud注册中心高可用搭建_第2张图片

二.建立服务注册中心

pom文件

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.1.4.RELEASE

com.yhs

eureka3

0.0.1-SNAPSHOT

eureka3

Demo project for Spring Boot

1.8

Greenwich.SR1

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

org.springframework.boot

spring-boot-starter-test

test

org.springframework.cloud

spring-cloud-dependencies

${spring-cloud.version}

pom

import

org.springframework.boot

spring-boot-maven-plugin

然后配置三个eureka的application.yml文件

eureka的文件配置如下:


SpringCloud注册中心高可用搭建_第3张图片

eureka2的文件配置如下:

SpringCloud注册中心高可用搭建_第4张图片

eureka3的文件配置如下:

SpringCloud注册中心高可用搭建_第5张图片

注意:在每个服务的主类上加上@EnableEurekaServer注解,不然springCloud不会将eureka识别为服务注册中心,启动会报错

SpringCloud注册中心高可用搭建_第6张图片

然后启动三台eureka访问localhost:8761、8762、8763即可看到注册生效


SpringCloud注册中心高可用搭建_第7张图片

三.建立服务消费者produce商品服务

pom文件,由于在之后的逻辑中使用到了mysql数据库以及lombok插件,所以引入了这两个jar包

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.1.4.RELEASE

com.yhs

product

0.0.1-SNAPSHOT

product

Demo project for Spring Boot

1.8

Greenwich.SR1

org.springframework.cloud

spring-cloud-starter-netflix-eureka-client

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-data-jpa

mysql

mysql-connector-java

8.0.15

org.projectlombok

lombok

org.springframework.cloud

spring-cloud-dependencies

${spring-cloud.version}

pom

import

org.springframework.boot

spring-boot-maven-plugin

配置application.yml文件:


SpringCloud注册中心高可用搭建_第8张图片

在主类中使用@EnableDiscoveryClient标识为服务消费者。


SpringCloud注册中心高可用搭建_第9张图片

启动product服务即可看到已经注册到eureka服务注册中心上,可以看到已经注册到注册中心,访问8761,8762,8763端口都可看到服务已经注册上:

SpringCloud注册中心高可用搭建_第10张图片

代码git地址:https://github.com/yhsStarry/StudySpringCloud

你可能感兴趣的:(SpringCloud注册中心高可用搭建)