服务治理-Spring Cloud Eureka

Posted BattleHeart

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务治理-Spring Cloud Eureka相关的知识,希望对你有一定的参考价值。

服务治理-Spring Cloud Eureka

服务治理-Spring Cloud Eureka
服务治理-Spring Cloud Eureka

Eureka介绍

服务治理-Spring Cloud Eureka

    Eureka是Spring Cloud Netflix的微服务套件的一部分,它是基于Netflix Eureka的二次开发,主要负责完成微服务架构中的服务治理功能。而且可以与Spring boot很容易的整合进行开发,使得开发变得简单,Eureka包含了服务器端和客户端组件。服务器端,也被称作是服务注册中心,用于提供服务的注册与发现。Eureka支持高可用的配置,当集群中有分片出现故障时,Eureka就会转入自动保护模式,它允许分片故障期间继续提供服务的发现和注册,当故障分片恢复正常时,集群中其他分片会把他们的状态再次同步回来。客户端,也被称为服务消费者与服务的生产者,服务启动时向服务注册中心(服务端)进行注册自己,并通过定时心跳检测的方式告诉服务端存活状态,更新服务续约,同时也可以将服务端的服务列表缓存到本地并周期性刷新服务列表的状态。

服务治理-Spring Cloud Eureka

Eureka的使用

服务治理-Spring Cloud Eureka

一、服务端

1. 在pom文件中添加依赖项。

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<!- - 处于安全考虑 - ->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

需要添加对Spring Cloud版本的控制,这里我们使用的事Dalston.SR4版本,要求Spring boot版本号低于2.0版本。

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

2.添加配置信息,在application.yml或application.properties中添加如下内容

spring:
   application:
       name: springcloudeurekaserver   # 注册到微服务中的服务名称。
server:
   port: 8761  # 端口号
eureka:
   instance:
       prefer-ip-address: true
   client:
       registerWithEureka: false # 是否注册自己,不注册
       fetchRegistry: false   # 禁止检测服务
       service-url:
           defaultZone: http://${security.user.name}:${security.user.password}@localhost:${server.port}/eureka/   #Eureka服务地址。
# 处于安全考虑需要对用户进行登录。
security:
   user:
       name: admin
       password: ${REGISTRY_SERVER_PASSWORD:password}

3.添加@EnableEurekaServer注解,开启对Eureka服务的支持。

@SpringBootApplication
@EnableEurekaServer
public class SpringCloudEruekaApplication {
   public static void main(String[] args) {
      SpringApplication.run(SpringCloudEruekaApplication.class, args);
   }
}

4. 运行Eureka服务,通过访问http://localhost:8761/eureka/ 进行访问Eureka注册中心,查看Eureka有哪些服务注册上,下图是Eureka主界面展示:
服务治理-Spring Cloud Eureka

说明

1. nstances currently registered with Eureka:服务注册列表信息。

服务治理-Spring Cloud Eureka

客户端

服务治理-Spring Cloud Eureka
1. 在pom文件中添加依赖项。

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!- - 处于安全考虑 - ->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
# 需要添加对Spring Cloud版本的控制,这里我们使用的事Dalston.SR4版本,要求Spring boot版本号低于2.0版本。
<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>

2. 添加配置信息,在application.yml或application.properties中添加如下内容

spring:
   application:
       name: springclouduser   # 注册到微服务中的服务名称。
server:
   port: 8889
eureka:
   instance:
       prefer-ip-address: true
   client:
       service-url:
           defaultZone: http://admin:${REGISTRY_SERVER_PASSWORD:password}@${eureka.instance.hostname}:8761/eureka/ #Eureka服务地址。

3. 添加@EnableEurekaClient注解或@ EnableDiscoveryClient,开启对Eureka客户端的支持。

@SpringBootApplication
@EnableEurekaServer
public class SpringCloudEruekaApplication {
   public static void main(String[] args) {
       SpringApplication.run(SpringCloudEruekaApplication.class, args);
   }
}

这样三步骤就讲微服务注册到服务中心中,可以看到服务中心已经获取到当前服务信息。

点击小蓝字  阅读原文


以上是关于服务治理-Spring Cloud Eureka的主要内容,如果未能解决你的问题,请参考以下文章

服务治理:Spring Cloud Eureka

服务治理-Spring Cloud Eureka

基于Spring Cloud的微服务构建学习-3 服务治理:Spring Cloud Eureka

第三章 服务治理:Spring Cloud Eureka

微服务:整合 Spring cloud Eureka - 服务治理机制

Spring cloud Eureka 服务治理