破甲两千六 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地址
- 服务端 demo2:https://github.com/HappyHappyWen/demo2.git
- 客户端 demo4:https://github.com/HappyHappyWen/demo4.git
一剑破甲两千六:
广陵江一战,短短两里路程,在李淳罡剑下躺了两千六百具背魁骑兵尸体,层层叠叠,少有完整的尸体。 八月十月日,徐凤年虽未亲手杀人,却是第一次感到恐惧,因为剑术无匹的李淳罡每多杀一人,他的性命就要多一分可能性留在广陵江喂鱼,人力终有竭尽时,徐凤年低头看着双手,颤抖不止,如何都停不下来。 这里头有一丝躁动的畸形兴奋,亲眼所见李淳罡剑气所及,锋芒掠过,便是一大片血肉模糊,试问自己练刀,此生何时能有这种以一介武夫力敌千军万马的本事? 老人在官道上负手缓行,背影伛偻,百步以后,似乎知道世子殿下在目送,没有转身,挥了挥手。
徐凤年伸手遮了遮夕阳光线,紧抿起嘴唇。
木马牛。酆都绿袍。剑神。
大雪坪一声剑来。武帝城剑开天门。广陵江斩杀两千六百骑。
还有那身穿羊皮裘的扣脚独臂老汉。
都已是江湖一缕余晖。
徐凤年喃喃道:“一个人就能让整座江湖都觉着老了,可真是一件霸气无匹的技术活儿,老前辈,本世子没法子打赏啊。”
- 服务注册发现Eureka之三:Spring Cloud Ribbon实现客户端负载均衡(客户端负载均衡Ribbon之三:使用Ribbon实现客户端的均衡负载)
- (二)SpringBoot+SpringCloud —— 使用Eureka实现服务注册与发现
- 《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端
- 《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
- 《Spring Cloud Netflix》 -- 服务注册和服务发现-Eureka 的使用
- Spring Cloud Netflix Eureka组件服务注册及发现源码浅析
- Spring Cloud 入门教程 - Eureka服务注册与发现
- SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- Spring Cloud 服务发现与注册(Eureka)- 客户端
- Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群
- SpringCloud Eureka实现服务注册与发现
- SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- 《Spring Cloud Netflix》 -- 服务注册和服务发现-Eureka的常用配置
- 《Spring Cloud Netflix》--服务注册和服务发现-Eureka的深入了解
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群
- SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)
- 服务注册和服务发现-Eureka的服务认证和集群--Spring Cloud Netflix
- 《Spring Cloud Netflix》-- 服务注册和服务发现-Eureka的服务认证和集群