破甲两千六 Spring Cloud 教程(三):添加Spring Cloud 的 Netflix Eureka 插件,实现服务端、客户端的发现与注册

写在前面:
Spring Cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。
5大常用组件:
服务发现——Netflix Eureka
客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config

其中 服务发现——Netflix Eureka,可以将客户端(注册端)注册到服务端(被注册端),并在Eureka提供的服务端管理页面,可以看到注册在其上的各个客户端的状态,或者通过客户端yml文件中的配置查看客户端指定信息。

下面开始向Spring Cloud 添加Netflix Eureka,实现服务端、客户端的发现与注册,以下操作是在Spring Cloud 教程(二)的基础上继续的,当然你也可以新建项目,新建项目可参考Spring Cloud 教程(一)。
本文结尾处会附上git代码。

配置 Eureka Server 端

如果要新建项目,在选择插件时,要按下图选择,如果是这样那可以直接跳过 1,2 操作3了,因为pom文件直接都给你集成好了,本人由于是从一个光秃秃的spring boot 开始的,所以要通过1 和 2进行配置pom

在这里插入图片描述

1.修改pom.xml ,配置Spring Cloud 及 Netflix Eureka依赖 :
配置Spring Cloud :
第一步,添加SpringCloud版本:<spring-cloud.version>Greenwich.SR2</spring-cloud.version>
在这里插入图片描述
第二步:配置SpringCloud最新稳定版本依赖,添加到图中位置:

<!--配置SpringCloud最新稳定版本依赖-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

在这里插入图片描述
2.添加Netflix Eureka依赖(节省点篇幅,不截图了):

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

3.在启动文件 内添加标签 @EnableEurekaServer:表示这是一个Server端
在这里插入图片描述
4.配置yml文件:

#配置EurekaServer
# 服务名称
spring:
  application:
    name: spring-cloud-eureka-server
# 服务端口号
server:
  port: 8080

#Eureka 相关配置
eureka:
  client:
    service-url:
      defaultZone: http://localhost:${server.port}/eureka/
    # 是否从其他的服务中心同步服务列表。
    fetch-registry: false
    # 是否把自己作为服务注册到其他服务注册中心,
    register-with-eureka: false

在这里插入图片描述
5.启动项目,访问http://localhost:8080/,进入到Netflix Eureka的管理页面,注册列表是空的,接下来需要建立一个客户端,并注册到这个服务端上。
在这里插入图片描述

配置 Eureka Client 端

1.这次可以直接带有插件新建了,注意新建的是客户端,所以在新建时应选择
在这里插入图片描述
2.待初始化完成在新窗口打开,添加application.yml:

# 服务提供者端口号
server:
  port: 8081

# 配置Eureka Server 信息
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8080/eureka/
  # 自定义实例编号
  instance:
    instance-id: ${spring.application.name}:${server.port}:@project.version@

在这里插入图片描述
3.启动项目,访问http://localhost:8080/,若已在此页面请刷新,可以看到:注册列表已经出现了客户端,这说明你已经成功的将客户端注册到服务端了。
在这里插入图片描述
4.但是点击上图红框内的客户编号,会发现打开是报错的 浏览器的地址显示的是 :http://desktop-sjscmge:8081/actuator/info,说明确实是访问到了服务端,但是没有actuator/info 这个接口。所以接下来 需要在yml文件中配置:
在pom 中加入 actuator监控依赖:

        <!-- actuator监控信息完善,用于服务端调用 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

在yml 加入 actuator配置:

#暴露所有端点 默认是info,health
management:
  endpoints:
    web:
      exposure:
        include: "*"

重启项目,刷新服务端Eureka 页面,再次点击链接,不会报错了,但是显示:{},这是因为默认的actuator/info接口显示的是自定义的信息,换句话说,咱们并没有在yml文件中对actuator/info的内容进行自定义。但是,除info接口外,还有其他接口供查看客户端信息已经可以使用,常用接口如下 ,调用方法为:http://desktop-sjscmge:8081/actuator/接口名。

(转 作者:myCat 原文:https://blog.csdn.net/WYA1993/article/details/80540981)下面是对部分常用端点的简要说明

auditevents 公开当前应用程序的审计事件信息。
beans 显示应用程序中所有Spring bean的完整列表。
configprops 显示应用中配置的属性信息报告。
env 显示应用中所有可用的环境属性报告,包括环境变量、JVM属性、应用的配置属性、命令行的参数。
health 显示应用健康信息。
httptrace 显示HTTP跟踪信息(默认情况下为最后100个HTTP请求 - 响应交换)。
info 显示应用的自定义信息,默认是空。
metrics 显示当前应用程序的“指标”信息,如内存信息、线程信息。
mappings 显示所有url映射。
scheduledtasks 显示应用程序中的计划任务。
shutdown 让应用程序正常关机。

详细说明请查看actuator-api文档:https://docs.spring.io/spring-boot/docs/current/actuator-api/html/

(/转)
建议大家去看一下这篇博文 讲的比较具体。

回过头来说配置 info 端点:
info:
app:
version: 1.1
name: aut #/actuator/info 自定义的info端点 否则是空的

此时大家再去试一下 ,会显示出自定义的信息了。

至此 添加Spring Cloud 的 Netflix Eureka 插件 实现服务端、客户端的发现与注册 已告一段落了。

git地址

一剑破甲两千六:

	广陵江一战,短短两里路程,在李淳罡剑下躺了两千六百具背魁骑兵尸体,层层叠叠,少有完整的尸体。
	八月十月日,徐凤年虽未亲手杀人,却是第一次感到恐惧,因为剑术无匹的李淳罡每多杀一人,他的性命就要多一分可能性留在广陵江喂鱼,人力终有竭尽时,徐凤年低头看着双手,颤抖不止,如何都停不下来。
	这里头有一丝躁动的畸形兴奋,亲眼所见李淳罡剑气所及,锋芒掠过,便是一大片血肉模糊,试问自己练刀,此生何时能有这种以一介武夫力敌千军万马的本事?
	老人在官道上负手缓行,背影伛偻,百步以后,似乎知道世子殿下在目送,没有转身,挥了挥手。

徐凤年伸手遮了遮夕阳光线,紧抿起嘴唇。
  木马牛。酆都绿袍。剑神。
  大雪坪一声剑来。武帝城剑开天门。广陵江斩杀两千六百骑。
  还有那身穿羊皮裘的扣脚独臂老汉。
  都已是江湖一缕余晖。
  徐凤年喃喃道:“一个人就能让整座江湖都觉着老了,可真是一件霸气无匹的技术活儿,老前辈,本世子没法子打赏啊。”

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值