博客
关于我
spring cloud Eureka 的HA 高可用的实现
阅读量:389 次
发布时间:2019-03-05

本文共 2576 字,大约阅读时间需要 8 分钟。

Spring Cloud Eureka 高可用架构部署指南

项目结构概述

本文将介绍如何配置并部署一个基于 Spring Cloud Eureka 的高可用架构(HA)。该架构将基于三个节点(node1、node2、node3)实现服务注册与发现,确保系统的高可用性和自动化容灾能力。


模块化项目结构

项目主要包含以下几个关键模块:

  • POM文件:配置了必要的依赖项,包括 Eureka 服务服务器和相关组件。
  • 启动类:定义了应用程序的主启动类及其相关配置。
  • 资源配置文件:包含了服务的基础配置信息。
  • 应用配置文件:分为公共配置文件和节点特定配置文件,分别定义了每个节点的运行环境参数和服务注册信息。

  • 1. 项目依赖管理

    在项目的 pom.xml 文件中,主要依赖了以下组件:

    org.springframework.cloud
    spring-cloud-starter-eureka-server

    此外,项目还依赖了 Spring Boot 核心组件和相关自动化配置模块。


    2. 应用启动类

    启动类 EurekaHaApp 位于 com.ljf.weifuwu.springcloud.ha.eureka 包下,其代码如下:

    package com.ljf.weifuwu.springcloud.ha.eureka;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication@EnableEurekaServerpublic class EurekaHaApp {    public static void main(String[] args) {        SpringApplication.run(EurekaHaApp.class, args);        System.out.println("EurekaHaApp 高可用启动成功了!!!");    }}

    此启动类标注了 @SpringBootApplication@EnableEurekaServer 两个注解,分别表示启用 Spring Boot 的自动化配置和 Eureka 服务注册中心功能。


    3. 资源配置文件

    资源配置文件位于 resources 目录下,主要用于定义服务的基本运行环境参数和服务注册中心相关配置。


    4. 应用配置文件

    系统采用了基于 YAML 格式的配置文件进行管理,具体包括以下几个文件:

  • application.yml:作为公共配置文件,主要定义了服务的基本信息和运行环境参数。
  • application-nodeX.yml(X 为节点编号):每个节点都有对应的配置文件,定义了节点的特定运行参数和服务注册信息。
  • 公共配置文件 application.yml

    spring:    application:        name: ms-eureka-ha-center        profiles:            active: node1

    节点特定配置文件

    application-node1.yml

    server:    port: 2001eureka:    instance:        hostname: node1    client:        serviceUrl:            defaultZone: http://node2:2002/eureka/,http://node3:2003/eureka/

    application-node2.yml

    server:    port: 2002eureka:    instance:        hostname: node2    client:        serviceUrl:            defaultZone: http://node1:2001/eureka/,http://node3:2003/eureka/

    application-node3.yml

    server:    port: 2003eureka:    instance:        hostname: node3    client:        serviceUrl:            defaultZone: http://node1:2001/eureka/,http://node2:2002/eureka/

    5. 节点配置与启动

    5.1 修改主机名

    在 Windows 系统中,需要修改 C:\Windows\System32\drivers\etc\hosts 文件,将以下映射关系添加到 hosts 文件中:

    node1 localhostnode2 localhostnode3 localhost

    5.2 启动节点

    按照以下顺序依次启动三个节点:

  • EurekaHaApp-node1:启动时可能会出现一些依赖错误,可以暂时忽略。
  • EurekaHaApp-node2:与 node1 同样可能会出现依赖错误,暂时忽略。
  • EurekaHaApp-node3:启动时不会出现错误。

  • 6. 访问验证

    访问节点服务

  • 访问 node1:通过浏览器访问 http://localhost:2001
  • 访问 node2:通过浏览器访问 http://localhost:2002
  • 访问 node3:通过浏览器访问 http://localhost:2003

  • 通过以上步骤,可以完成一个基于 Spring Cloud Eureka 的高可用架构的部署与配置。该架构不仅确保了服务的注册与发现功能,还通过节点之间的互相注册和心跳检测机制,实现了服务的高可用性和容灾能力。

    转载地址:http://pouzz.baihongyu.com/

    你可能感兴趣的文章
    pandas改变一列值(通过apply)
    查看>>
    Pandas数据分析的环境准备
    查看>>
    Pandas数据可视化怎么做?用实战案例告诉你!
    查看>>
    Pandas数据处理与分析教程:从基础到实战
    查看>>
    Pandas数据结构之DataFrame常见操作
    查看>>
    pandas整合多份csv文件
    查看>>
    pandas某一列转数组list
    查看>>
    Pandas模块,我觉得掌握这些就够用了!
    查看>>
    Pandas玩转文本处理!
    查看>>
    SpringBoot 整合 Mybatis Plus 实现基本CRUD功能
    查看>>
    pandas的to_sql方法中使用if_exists=‘replace‘
    查看>>
    pandas读取parquet报错
    查看>>
    pandas读取数据用来深度学习
    查看>>
    Pandas进阶大神!从0到100你只差这篇文章!
    查看>>
    spring5-介绍Spring框架
    查看>>
    Pandas:如何按列元素的组合分组,以指示基于不同列的值的同现?
    查看>>
    Pandas:将一列与数据帧的所有其他列进行比较
    查看>>
    PANDA:基于多列对数据表的行运行计算,并将输出存储在新列中
    查看>>
    PandoraFMS 监控软件 SQL注入漏洞复现
    查看>>
    PandoraFMS 监控软件 任意文件上传漏洞复现
    查看>>