专业的编程技术博客社区

网站首页 > 博客文章 正文

eureka入门-服务治理(eureka服务状态)

baijin 2024-09-20 12:33:00 博客文章 3 ℃ 0 评论

Eureka

服务注册中心

入门主要流程

1 搭建 eureka server

2 搭建 服务提供者 向eureka server注册

2 搭建 服务消费者 向 eureka server获取 提供者地址 然后发起调用

1 创建maven父工程

Pom依赖如下:

<dependencyManagement>

    <dependencies>

        <!--    springcloud依赖        -->

        <dependency>

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

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

            <version>Greenwich.SR1</version>

            <scope>import</scope>

            <type>pom</type>

        </dependency>

        <!--     springboot的父依赖 不放在pom中的parent标签中  子项目按需使用     -->

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-parent</artifactId>

            <version>2.1.5.RELEASE</version>

            <scope>import</scope>

            <type>pom</type>

        </dependency>

    </dependencies>

</dependencyManagement>

<dependencies>

    <dependency>

        <groupId>org.projectlombok</groupId>

        <artifactId>lombok</artifactId>

        <version>1.18.8</version>

    </dependency>

</dependencies>

<build>

    <plugins>

        <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-compiler-plugin</artifactId>

            <version>3.3</version>

            <configuration>

                <source>1.8</source>

                <target>1.8</target>

                <encoding>UTF-8</encoding>

            </configuration>

        </plugin>

    </plugins>

</build>

2 搭建eureka server

2.1 在父工程下创建module, pom依赖如下:

<dependencies>

    <dependency>

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

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

    </dependency>

</dependencies>

2.2 创建启动类,添加注解



2.3 配置application.yml文件

server:

  port: 20000

eureka:

  instance:

    hostname: localhost

  client:

    register-with-eureka: false

    fetch-registry: false

    service-url:

      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

spring:

  application:

    name: eureka-server

2.4 启动项目,启动成功,根据自己配置的端口,可以访问项目


3 搭建 服务提供者

3.1 创建module, pom依赖如下

<dependencies>

    <dependency>

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

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

    </dependency>

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

    </dependency>

</dependencies>

3.2 创建启动类,添加注解


3.3 配置application.yml

server:

  port: 30001

eureka:

  client:

    service-url:

      defaultZone: http://localhost:20000/eureka/

spring:

  application:

    name: eureka-client

3.4 写个测试接口


3.5 启动项目,成功后,在eureka server页面可以看到注册成功


4 搭建服务消费者

4.1 创建module, pom依赖如下

<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

4.2 创建启动类 添加注解


4.3 配置application.yml

server:

  port: 30002

eureka:

  client:

    service-url:

      defaultZone: http://localhost:20000/eureka/

spring:

  application:

    name: eureka-consumer

4.4 写个controller,调用服务提供者的接口


这里获取服务提供者的地址,可以用

org.springframework.cloud.client.loadbalancer.LoadBalancerClient(这个有负载均衡)

或者

org.springframework.cloud.client.discovery.DiscoveryClient

4.5启动项目

可以在eureka server上看见注册信息


同时 访问localhost:30002/hello,成功访问


5 想法

5.1 Eureka的逻辑:

1 服务提供者 向其注册,主要的信息时ip和端口

2 服务消费者 向其获取相关服务提供者的地址(ip+port)

3 服务消费者获取到地址后 就发起http调用

注册中心还是很有必要的,它统一管理 服务的注册,续约,下线等等

让消费者不用关心服务提供者的情况,需要调用时直接向注册中心拿提供者地址就行。

5.2 原理

5.2.1 eureka server


项目启动时 会加载该配置类 进行eureka server的各种配置并启动

但该配置类生效有个条件


要存在org.springframework.cloud.netflix.eureka.server.EurekaServerMarkerConfiguration.Marker的实例

@EnableEurekaServer 注解 就能配置该类的实例

因此启动类上加上该注解 就能实现eureka server

5.2.2 eureka client


项目启动后,这些配置类都会被加载,然后eureka client进行配置并启动

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表