springcloud(一)-集成Eureka 服务注册与发现(慕课网廖师兄SpringCloud微服务实战)

image.png

1.服务中心

  • 核心依赖
<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-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>
  • 启用Eureka Server

在启动类或者配置类上添加@EnableEurekaServer 注解

/**
 * Eureka 启动类
 * @author gaowenfeng
 *
 * @EnableEurekaServer  启用Eureka Server
 */
@SpringBootApplication
@EnableEurekaServer
public class MicroWeatherEurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(MicroWeatherEurekaServerApplication.class, args);
    }
}
  • 配置
server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    # 静止注册成客户端
    register-with-eureka: false
    fetch-registry: false
    # 服务的url
    service-url:
      defaultZone: http://{eureka.instance.hostname}:{server.port}/eureka
  • 检查

启动项目后访问 http://{host}:{serverport}

image.png

2. 服务注册

  • 核心依赖
<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-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>
  • 注册服务相关代码实现

启动类或者配置类添加@EnableDiscoveryClient注解

/**
 * 启动类
 * @author gaowenfeng
 */
@SpringBootApplication
@EnableDiscoveryClient
public class MsaWeatherCityServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(MsaWeatherCityServerApplication.class, args);
    }
}
  • 相关配置
spring:
  application:
    name: msa-weather-city-server

eureka:
    # 服务中心的url
    service-url:
      # 这里可以是一个数组,也就是可以注册多多个服务端,用逗号隔开
      defaultZone: http://localhost:8761/eureka/
      instance:
           # 自定义服务的域名
           hostname: clientName
server:
  port: 9991
  • 检查

启动实例,即可在服务中心界面以及控制台看到相关注册信息

image.png

  • Eureka高可用

image.png

让多个Eureka服务端两两注册,即一个Eureka做为另一个Eureka的客户端,然后让Client注册到每一个Eureka服务端上,这样,当一个服务端挂掉以后,在其他的Eureka服务端也可以发现注册的Client

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿杜的世界

通过@Enable*注解触发Spring Boot配置

在Spring Boot:定制自己的starter一文最后提到,触发Spring Boot的配置过程有两种方法:

1161
来自专栏Java学习123

【Spring】Spring MVC原理及配置详解

2872
来自专栏你不就像风一样

SpringBoot分布式 - SpringCloud

本文只讲解了服务的注册与发现,Spring cloud的更多内容推荐阅读:SpringCloud分布式教程

2132
来自专栏编程微刊

vue踩坑记-在项目中安装依赖模块npm install报错

在维护别人的项目的时候,在项目文件夹中安装npm install模块的时候,报错如下:

1281
来自专栏java思维导图

Spring MVC 到 Spring BOOT的简化之路

从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷。但是Spring和Spring MVC的众多配置有时却让人望而却步,相信...

1862
来自专栏成猿之路

Spring MVC 到 Spring BOOT的简化之路

从Servlet技术到Spring和Spring MVC,开发Web应用变得越来越简捷。但是Spring和Spring MVC的众多配置有时却让人望而却步,相信...

954
来自专栏Python

linux每日命令(28):chgrp命令

在linux系统里,文件或目录的权限的掌控以拥有者及所属群组来管理。可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以。Ch...

661
来自专栏Danny的专栏

【EJB学习笔记】——实体Bean

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

1163
来自专栏乐沙弥的世界

自动清除日期目录shell脚本

    很多时候备份通常会使用到基于日期来创建文件夹,对于这些日期文件夹下面又有很多子文件夹,对于这些日期文件整个移除,通过find结合rm或者delete显得...

881
来自专栏Java Web

Spring Boot【快速入门】

上面是引自官网的一段话,大概是说: Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来...

5265

扫码关注云+社区

领取腾讯云代金券