博客
关于我
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/

    你可能感兴趣的文章
    paramiko模块
    查看>>
    param[:]=param-lr*param.grad/batch_size的理解
    查看>>
    spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
    查看>>
    Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
    查看>>
    Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
    查看>>
    ParseChat应用源码ios版
    查看>>
    Part 2异常和错误
    查看>>
    Pascal Script
    查看>>
    Spring Boot集成Redis实现keyspace监听 | Spring Cloud 34
    查看>>
    Spring Boot中的自定义事件详解与实战
    查看>>
    Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
    查看>>
    passwd命令限制用户密码到期时间
    查看>>
    Spring @Async执行异步方法的简单使用
    查看>>
    PAT (Basic Level) Practice 乙级1031-1040
    查看>>
    PAT (Basic Level) Practice 乙级1041-1045
    查看>>
    PAT (Basic Level) Practice 乙级1051-1055
    查看>>
    PAT (Basic Level) Practise - 写出这个数
    查看>>
    PAT 1027 Colors in Mars
    查看>>
    PAT 1127 ZigZagging on a Tree[难]
    查看>>
    PAT 2-07. 素因子分解(20)
    查看>>