前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloudEureka集群搭建实战

SpringCloudEureka集群搭建实战

原创
作者头像
后台技术汇
发布2024-09-27 09:55:57
400
发布2024-09-27 09:55:57
举报
文章被收录于专栏:后台技术汇

图片
图片

背景

SpringCloudEureka是基于NetfliEureka做了二次封装,负责微服务架构的服务治理功能。

SpringCloud通过为Eureka增加SpringBoot风格的自动化配置,只需要简单的引入依赖和注解配置,就能让SpringBoot构建的微服务应用轻松和Eureka服务治理体系整合。

功能

各个微服务实例的注册与发现。

  • 每个服务单元向注册中心登记自己提供的服务,将主机与端又号、版本号、通信协议等一些附加信息告知注册中心,注册中心按服务名分类组织服务清单。
  • 服务间调用:不通过指定具体的实例地址,而是通过服务名发起请求调用实现。
  • 服务单元要周期性的发心跳,并请求服务注册中心,获取所有服务的实例清单。

特色

  • Eureka支持非java语言的系统接入。
  • Eureka支持高可用集群配置。

搭建EurekaServer

1、依赖引入

代码语言:txt
复制

<dependencies>
    <!-- 注册中心 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>
</dependencies>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 如果要用gson,则需要先去除默认的jackson-databind,再加入Gson依赖。-->
    <exclusions>
        <exclusion>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR9</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

2、@EnableEurekaServer修饰启动类

代码语言:txt
复制
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
 
   public static void main(String[] args) {
       SpringApplication.run(EurekaApplication.class, args);
   }

}

3、配置数据

application.properties

代码语言:txt
复制

server.port=8881
spring.application.name=eureka-server

## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

4、验证效果

http://localhost:8881/

图片
图片

搭建EurekaServer集群

1、前言

分布式环境下,考虑发生故障的情况,要构建高可用的注册中心,以增强系统的可用性。

2、解决办法

注册中心,互相注册,形成一组集群,以实现服务清单的互相同步,达到高可用效果。

3、多注册中心集群

3.1 DS Replicas

在Spring Cloud Eureka中,DS Replicas(数据副本)是指Eureka Server集群中各个节点之间同步注册表信息的副本。

3.2注册中心1

配置文件

代码语言:txt
复制

server.port=8881
spring.application.name=eureka-server

## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost2:8882/eureka/

启动指令

代码语言:javascript
复制
 java -jar eureka-1.0-SNAPSHOT.jar

http://localhost:8881/

3.3注册中心2

配置文件

application-b.properties

代码语言:txt
复制
server.port=8882
spring.application.name=eureka-server

## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost2
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost:8881/eureka/

启动指令

代码语言:javascript
复制
java -jar eureka-1.0-SNAPSHOT.jar --spring.profiles.active=b

http://localhost:8882/

修改/etc/hosts

图片
图片

3.4验证效果:高可用集群

http://localhost:8881/

图片
图片

http://localhost:8882/

图片
图片

3.5测试断开注册中心1

图片
图片

其他文章

微服务重构:Mysql+DTS+Kafka+ElasticSearch解决跨表检索难题

基于SpringMVC的API灰度方案

SQL治理经验谈:索引覆盖

Mybatis链路分析:JDK动态代理和责任链模式的应用

大模型安装部署、测试、接入SpringCloud应用体系

一文带你看懂:亿级大表垂直拆分的工程实践

亿级大表冷热分级的工程实践

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 功能
  • 特色
  • 搭建EurekaServer
    • 1、依赖引入
      • 2、@EnableEurekaServer修饰启动类
        • 3、配置数据
          • 4、验证效果
          • 搭建EurekaServer集群
            • 1、前言
              • 2、解决办法
                • 3、多注册中心集群
                  • 3.1 DS Replicas
                  • 3.2注册中心1
                  • 配置文件
                  • 启动指令
                  • 3.3注册中心2
                  • 配置文件
                  • 启动指令
                  • 修改/etc/hosts
                • 3.4验证效果:高可用集群
                  • 3.5测试断开注册中心1
                  • 其他文章
                  相关产品与服务
                  微服务引擎 TSE
                  微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档