SpringCloud中怎么搭建Eureka服务注册中心

发布时间:2021-06-18 17:32:01 作者:Leah
来源:亿速云 阅读:152

本篇文章为大家展示了SpringCloud中怎么搭建Eureka服务注册中心,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一:Eureka简介

Eureka和Consul、Zookeeper等类似,是一个用户服务发现和服务注册的组件,最开始主要用于亚马逊旗下的云计算服务平台AWS。Eureka分为EurekaServer(服务注册中心)和EurekaClient(客户端)。

Eureka优点

二:搭建第一个服务注册中心

Talking is boolshit, just look at the code!

<groupId>com.calvin.cloud</groupId>
<artifactId>cloud_day01</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
    <module>eureka-server</module>
    <module>eureka-client</module>
</modules>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.3.RELEASE</version>
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

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

使用SpringInitializr创建两个子Module,分别是eureka-server和eureka-client

SpringCloud中怎么搭建Eureka服务注册中心

<parent>
    <artifactId>cloud_day01</artifactId>
    <groupId>com.calvin.cloud</groupId>
    <version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>eureka-server</artifactId>

<dependencies>
    <!-- springcloud的版本如果有问题,这个包引入就会有问题 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
/**
 * EurekaServer启动类
 * @author Calvin
 * @date 2019/07/29
 */

@SpringBootApplication
@EnableEurekaServer
public class ServerApplication {
    
    public static void main(String[] args) {
        SpringApplication.run(ServerApplication.class);
    }
    
}
server:
  port: 8080
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone:
        http://${eureka.instance.hostname}:${server.port}/eureka

启动EurekaServerApplication.main(),浏览器访问 http://localhost:8080/eureka 此时显示并没有可用服务注册进来
No instances available
SpringCloud中怎么搭建Eureka服务注册中心

再来写一个EurekaClient
<parent>
        <artifactId>cloud_day01</artifactId>
        <groupId>com.calvin.cloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>eureka-client</artifactId>

    <dependencies>
        <!-- springcloud的版本如果有问题,这个包引入就会有问题 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
server:
  port: 8081
spring:
  application:
    name: my_eureka_client
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
/**
 * Client测试启动类
 * @author Calvin
 * @date 2019/09/29
 */
@SpringBootApplication
@EnableEurekaClient
public class ClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class);
    }

}

刷新http://localhost:8080/eureka 发现服务已经注册成功了 SpringCloud中怎么搭建Eureka服务注册中心

三:Eureka核心探索

微服务中的概念
高可用服务注册中心

SpringCloud中怎么搭建Eureka服务注册中心
上面的架构描述了Eureka在Netflix上的部署方式,也是正常Eureka正常的部署和运行方式。每个区域都有一个Eureka集群,且每个区域至少有一个Eureka服务器来处理区域故障。

服务在EurekaServer注册,然后发送心跳以每30秒更新其租约。如果客户端无法保持心跳,EurekaServer将在90秒后从出服务器注册列表中剔除此服务实例。注册信息和续约信息将复制到集群中的所有EurekaServer节点。来自任何区域EurekaClient都可以每隔30s获取到所有注册列表信息,并进行远程调用。 以上资料来自于官网:https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance

四:小结

  1. 简单介绍Eureka以及优缺点

  2. 编写第一个Eureka注册中心

  3. 了解Eureka中的概念和高可用注册中心的架构

五:问题总结

  1. 内容相对简单,没有对概念进行深入剖析

  2. 代码中没有进行集群搭建,也没有测试服务提供者和消费者

  3. 后续应该加上源码解析

上述内容就是SpringCloud中怎么搭建Eureka服务注册中心,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Eureka 注册中心-服务发现
  2. springCloud服务如何注册Eureka

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springcloud eureka

上一篇:java 中怎么利用递归求阶乘

下一篇:python清洗文件中数据的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》