Eureka非分区集群部署-阿里云开发者社区

开发者社区> 李子捌> 正文

Eureka非分区集群部署

简介: Eureka非分区集群部署
+关注继续查看

1、简介

非分区集群部署是Eureka一种简单的集群部署方式,这种方式下集群中的Eureka Server不分区。通常情况下,如果我们的Eureka服务器都在同一个机房中,可以采取这种方式集群部署。

2、修改hosts文件

由于我在Windows环境下启动多个Eureka服务模拟集群部署,因此先修改C:\Windows\System32\drivers\etc\hosts文件,以便于正确的域名寻址(不修改直接使用127.0.0.1也一样

127.0.0.1       eureka18881.com

127.0.0.1       eureka18882.com

127.0.0.1       eureka18883.com

127.0.0.1       eureka18884.com

3、Eureka Server搭建

我这里一共搭建四个Eureka Server,为了方便看清楚整个Eureka Server的集群方式和启动过程,我搭建了四个Eureka Server,分别是Eureka-01、Eureka-02、Eureka-03、Eureka-04。如果觉得服务过多可以创建不同的profile,在启动Eureka Server时指定不同的profile即可。

第一步:引入pom依赖,我这里采用spring-cloud版本为Greenwich.SR1

<?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">

    <modelVersion>4.0.0</modelVersion>


    <groupId>com.liziba</groupId>

    <artifactId>spring-cloud-netflix-demo</artifactId>

    <packaging>pom</packaging>

    <version>1.0-SNAPSHOT</version>

    <modules>

        <module>Eureka-01</module>

        <module>Eureka-02</module>

        <module>Eureka-03</module>

        <module>Eureka-04</module>

    </modules>


    <properties>

        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>

    </properties>


    <dependencies>

        <dependency>

            <groupId>org.springframework.cloud</groupId>

            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>

        </dependency>

    </dependencies>


    <dependencyManagement>

        <dependencies>

            <dependency>

                <groupId>org.springframework.cloud</groupId>

                <artifactId>spring-cloud-dependencies</artifactId>

                <version>${spring-cloud.version}</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

        </dependencies>

    </dependencyManagement>


</project>

第二步:创建启动类Application_EurekaServer01.java,使用@EnableEurekaServer注解开启Eureka Sever

/**

 * <p>

 *  EurekaServer01启动类

 * </p>

 *

 * @Author: Liziba

 * @Date: 2021/10/30 10:46

 */


@SpringBootApplication

@EnableEurekaServer

public class Application_EurekaServer01 {


    public static void main(String[] args) {

        SpringApplication.run(Application_EurekaServer01.class, args);

    }


}

第三步:创建application.yml/application.properties配置文件,在如下配置文件中配置类当前Eureka Server的端口信息、服务名称、实例地址、集群地址数组、是否注册本身和获取注册信息,在这里我将Eureka Server本身也注册到了当前Eureka Server中。

## 端口

server:

  port: 18881


## 服务名称

spring:

  application:

    name: Eureka-01


## Eureka 配置信息

eureka:

  instance:

    hostname: eureka18881.com

  client:

    service-url:

      defaultZone: http://eureka18882.com:18882/eureka/,http://eureka18883.com:18883/eureka/,http://eureka18884.com:18884/eureka/

    register-with-eureka: true

    fetch-registry: true

第四步:再创建三个相同的应用,修改对应端口信息、服务名称、集群地址,比如Application_EurekaServer02的配置文件如下所示。

## 修改端口

server:

  port: 18882


## 修改应用名

spring:

  application:

    name: Eureka-02


## 修改实例hostname

eureka:

  instance:

    hostname: eureka18882.com

  client:

    service-url:

     ## defaultZone中配置其他三台服务器地址,剔除自己

      defaultZone: http://eureka18881.com:18881/eureka/,http://eureka18883.com:18883/eureka/,http://eureka18884.com:18884/eureka/

    register-with-eureka: true

    fetch-registry: true

第五步:服务启动,依次启动四个Eureka Server,等服务均启动成功后,访问Eureka Dashboard,查看集群信息。每个Eureka Dashboard中均可以看到四台服务注册信息展示在Instances currently registered with Eureka中,服务注册的名字Application 是配置文件中提供的spring.application.name应用配置名称;DS Replicas中展示的是defaultZone集群信息,展示的名称是对应Eureka Server配置文件中配置的eureka.instance.hostname

image

4、Eureka Client搭建

Eureka Server未进行分区划分,因此Eureka Client也无需考虑Eureka Server中分区相关配置。

第一步:创建Client服务,引入Eureka Client依赖

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-netflix-eureka-client</artifactId>

</dependency>

第二步:创建启动类,使用@EnableDiscoveryClient开启服务发现

/**

 * <p>

 *      客户端应用启动

 * </p>

 *

 * @Author: Liziba

 * @Date: 2021/10/30 15:34

 */

@SpringBootApplication

@EnableDiscoveryClient

public class Application_client01 {


    public static void main(String[] args) {

        SpringApplication.run(Application_client01.class, args);

    }


}

第三步:创建配置文件,在配置文件中指定集群服务地址

server:

  port: 19991


spring:

  application:

    name: client-01


eureka:

  client:

    service-url:

      defaultZone: http://eureka18881.com:18881/eureka/,http://eureka18882.com:18882/eureka/,http://eureka18883.com:18883/eureka/,http://eureka18884.com:18884/eureka/

第四步:通过Eureka Dashboard查看服务注册信息,可以看到每个Eureka Server上都会有client-01服务注册上去了

image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9495 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12036 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9054 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13183 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4012 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6893 0
+关注
李子捌
简介: CSDN优秀作者、华为云专家 领域: Java框架、并发编程、分布式、微服务、Redis、HarmonyOS、中间件等技术
240
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载