Eureka微服务注册中心建立和服务注册

一、Eureka是什么
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,Netflix在设计Eureka时遵守AP原则。

CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得

二、Eureka组件
1、Eureka Server:
提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
2、EurekaClient是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)。

Eureka组件的注册服务流程如图:
在这里插入图片描述
三、Eureka注册中心建立
1、新建Module microservicecloud-eureka-7001模块
在这里插入图片描述
2、添加maven依赖
注意:注册中心的建立是建立的注册中心的server端,这里的artifactId为spring-cloud-starter-eureka-server

  <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
    </dependencies>

3、配置application.yml文件

server:
  port: 7001
eureka:
  instance:
    hostname: localhost           #eureka服务端的实例名称
  client:
    register-with-eureka: false   #false表示不向注册中心注册自己。
    fetch-registry: false         #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址。

4、编写启动器类 添加@EnableEurekaServer 注解

@SpringBootApplication
@EnableEurekaServer //EurekaServer服务器端启动类,接受其它微服务注册进来
public class EurekaServer7001_App {
    public static void main(String[] args){
        SpringApplication.run(EurekaServer7001_App.class,args);

    }
}

5、启动Eureka服务注册中心
输入:http://localhost:7001/
出现如图所示内容表示Eureka注册中心建立成功
在这里插入图片描述
四、微服务注册
服务注册就是把服务提供者(A模块)所提供的服务通过EurekaClient注册到Eureka注册中心中供服务的使用者(B模块使用),所以以下操作就是在原有的服务提供者(A模块)进行的操作。
1、添加pom依赖

      <!--Eureka客户端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

2、添加application.yml的配置

eureka:
  client: #客户端注册进eureka服务列表内
    service-url:
      defaultZone: http://localhost:7001/eureka

3、在A模块中的启动器类中添加注解@EnableEurekaClient,这个注解的作用就是把A模块提供的服务注册到Eureka注册中心中去。
启动器类代码:

@SpringBootApplication
@EnableEurekaClient //本服务启动后会自动注册进eureka服务中
public class DeptProvider8001_App {

    public static void main(String[] args){

        SpringApplication.run(DeptProvider8001_App.class,args);
    }
}

4、验证是否注册成功
首先先启动Eureka注册中心即启动上面的microservicecloud-eureka-7001模块,然后启动服务提供者(A模块),然后访问http://localhost:7001/
在这里插入图片描述
如图表示有可用的服务也即表示服务注册成功
源码地址:点击获取源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值