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

    你可能感兴趣的文章
    Python到底能做什么?它的优点在哪?
    查看>>
    python利用pytorch库导出图像分割算子
    查看>>
    python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
    查看>>
    python利用excel分析过杀漏失
    查看>>
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>