SpringCloud系列(10)--Eureka集群原理及搭建

前言:当注册中心只有一个,而且当这个注册中心宕机了,就会导致整个服务环境不可用,所以我们需要搭建Eureka注册中心集群来实现负载均衡+故障容错

Eureka架构原理图

1、Eureka集群原理

2、创建Eureka Server端服务注册中心模块
(1)在父工程下新建模块

(2)选择模块的项目类型为Maven并选择模块要使用的JDK版本
(3)填写子模块的名称,然后点完成即可完成创建 

效果图:

(4)修改eureka-server7002子模块的pom.xml文件,然后reolad一下,下载依赖

例:

<?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">
    <parent>
        <artifactId>springcloud01</artifactId>
        <groupId>com.ken.springcloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>eureka-server7002</artifactId>

    <dependencies>
        <!--以下依赖都没写版本号,没写版本号的情况下会引用父项目的版本-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--监控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!--热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!--lombok插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--引入自己定义的api调用包,可以使用Payment模块的entity-->
        <dependency>
            <groupId>com.ken.springcloud</groupId>
            <artifactId>api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!--Eureka Server-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>
</project>

3、为子模块添加名为application的yml配置文件(注:yml是官方推荐的配置文件格式,最好使用yml文件而不是properties文件)

效果图:


如果application.yml不是绿色的,而是红色的,可以尝试install当前Maven工程,如果还不行可以尝试清除Idea的缓存

 


4、修改hosts文件,将映射配置进hosts文件里
(1)进入C:\Windows\System32\drivers\etc文件夹,找到hosts文件

(2)修改hosts文件,添加以下映射
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com

效果图: 

5、分别修改eureka-server7001模块和eureka-server7002模块的application.yml配置文件
(1)修改eureka-server7001的yml配置
server:
  port: 7001
eureka:
  instance:
    #eureka服务端的实例名称
    hostname: eureka7001.com
  client:
    #false表示不向服务中心注册自己
    register-with-eureka: false
    #false表示自己端就是注册中心,只需要维护服务实例,并不需要检索服务
    fetch-registry: false
    service-url:
      #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址
      defaultZone: http://eureka7002.com:7002/eureka/

效果图:

(2)修改eureka-server7002的yml配置
server:
  port: 7002
eureka:
  instance:
    #eureka服务端的实例名称
    hostname: eureka7002.com
  client:
    #false表示不向服务中心注册自己
    register-with-eureka: false
    #false表示自己端就是注册中心,只需要维护服务实例,并不需要检索服务
    fetch-registry: false
    service-url:
      #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址
      defaultZone: http://eureka7001.com:7001/eureka/

效果图:

6、为eureka-server7002子模块新建一个主启动类,类名输入com.ken.springcloud.EurekaMain,然后创建即可

 效果图:

7、编写为eureka-server7002子模块的主启动类
package om.ken.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
//标注为Eureka Server(服务注册中心)
@EnableEurekaServer
public class EurekaMain {
    public static void main(String[] args) {
        SpringApplication.run(EurekaMain.class, args);
    }
}

效果图:

8、分别启动eureka-server7001子模块和eureka-server7002子模块,然后分别进入http://localhost:7001/http://localhost:7002/或者分别进入http://eureka7001.com:7001/http://eureka7002.com:7002/查看是否成功相互注册,进入页面后如果发现互相注册对方,则证明eureka集群搭建成功

eureka7001的效果图:

从图里可以看到eureka7001里注册了eureka7002

或者 

eureka7002的效果图:

从图里可以看到eureka7002里注册了eureka7001

 或者

相关推荐

  1. Elasticsearch7.10

    2024-04-23 07:18:03       20 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 07:18:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 07:18:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 07:18:03       82 阅读
  4. Python语言-面向对象

    2024-04-23 07:18:03       91 阅读

热门阅读

  1. react经验12:等待状态更新

    2024-04-23 07:18:03       30 阅读
  2. PostgreSQL 排查链接锁问题常用SQL语句

    2024-04-23 07:18:03       30 阅读
  3. pytorch的mask-rcnn的模型参数解释

    2024-04-23 07:18:03       38 阅读
  4. 构造函数及es6类写单例模式

    2024-04-23 07:18:03       38 阅读
  5. paddlepaddle/paddle 命令注入漏洞复现_$1500 CVE-2024-0934

    2024-04-23 07:18:03       39 阅读
  6. 新技术应用塑造未来景展望

    2024-04-23 07:18:03       31 阅读
  7. PaddleSeg数据集的准备

    2024-04-23 07:18:03       36 阅读
  8. python与PySpark

    2024-04-23 07:18:03       32 阅读
  9. C++笔记打卡第15天(函数模版)

    2024-04-23 07:18:03       39 阅读
  10. Python网络爬虫项目开发实战:怎么解决数据抓取

    2024-04-23 07:18:03       34 阅读
  11. 蓝桥杯 BASIC-22 基础练习 FJ的字符串

    2024-04-23 07:18:03       32 阅读