SpringCloud-2-Eureka(注册中心)+eureka client(服务提供者)

版权声明:本文为博主原创文章,未经博主允许不得转载

创建注册中心(eureka server)

我们需要用的的组件上SpringCloud Netflix的Eureka ,eureka是一个服务注册和发现模块,类似于Zookeeper。

在Idea中创建一个空的项目,然后添加一个model
在这里插入图片描述
填好项目结构及项目明后点击下一步
在这里插入图片描述
选择Cloud Discovery中的Eureka Server后点击下一步,选择项目路径点击完成即可
在这里插入图片描述
启动一个服务注册中心,需要一个注解@EnableEurekaServer,这个注解需要在SpringBoot工程的启动application类上加
在这里插入图片描述
在resources中添加一个application.yml文件,并在里面添加如下内容

server:
  port: 8761 #服务端口号
  
eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

通过eureka:client:registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server(注册中心)

eureka server 是有界面的,启动程序后通过http://localhost:8761/访问,可以看到如下界面:

在这里插入图片描述

创建一个服务提供者(eureka client)

当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息,这个操作叫做心跳检测(健康检测,服务续约)。 如果心跳超时,则通常将该实例从注册server中删除。

与创建Eureka Server同样的方法创建一个module并引入Eureka Server即可
通过注解@EnableEurekaClient 表明自己是一个eureka client.
在这里插入图片描述
然后再application.yml配置文件中添加如下内容

server:
  port: 8762
spring:
  application:
    name: provider-hello #服务的名字
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/ #链接注册中心的地址

需要指明spring.application.name,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name

添加一个Controller,用来提供服务
在这里插入图片描述
@Value可以将配置文件中的内容赋值进来,方便后面查看是哪个端口提供的服务

启动程序,打开http://localhost:8761 ,即eureka server 的网址:
在这里插入图片描述
可以看到我们刚才写的提供者已经注册到注册中心了

然后我们访问http://localhost:8762/hi?name=mr,可以看到:hi mr ,i am from port: 8762

猜你喜欢

转载自blog.csdn.net/weixin_44914784/article/details/89459485