您的位置:首页 > 编程语言 > Java开发

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

2019-07-22 10:02 609 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_35168817/article/details/96475131

写在前面:
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地址

一剑破甲两千六:

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐