当前位置: 首页 > news >正文

python eureka服务发现_Eureka的细节(首页显示微服务名、外网访问显示正确ip、详情信息、服务发现)...

一、首页显示的微服务名

Eureka 首页显示的微服务名默认为:机器主机名:应用名称:应用端口,也就是:

${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id}:${server.port}

我们很难识别,自定义显示名字

在application.yml配置文件中修改参数:

#eureka相关配置

eureka:

instance:

hostname: 127.0.0.1 (这里没关系)

#设置是否将自己作为客户端注册到注册中心(缺省true)

#这里为不需要,查看@EnableEurekaServer注解的源码,会发现它间接用到了@EnableDiscoveryClient

instance-id:userService-${spring.cloud.client.ipaddress}-${server.port}

二、给服务器一个正确的IP

上面我们给服务指定了一个更顺眼的名字,但是当我们把鼠标移到上面时,

显示的是:http://localhost:8084/actuator/info

可读性太低了,这里理论上应该是显示该服务自身的 ip 才对,那么如何让这里的 ip 显示正常呢?

在application.yml配置文件中修改参数:

#服务信息显示的真实的ip, 开发中一定要设置为true, 如果不设置, 其他电脑访问不到你的服务

prefer-ip-address: true

三、设置微服务的详细信息

但是默认情况下,是没有微服务的信息的,它是一个空的

显示{}

在大型项目中,微服务可能会有成百上千个,如果你没有填写微服务的信息,否则你的项目维护会非常痛苦。

填写微服务的信息

1、在你的微服务项目中添加actuator依赖,以及插件

org.springframework.boot

spring-boot-starter-actuator

插件:

org.apache.maven.plugins

maven-resources-plugin

$

2、在项目的配置文件中,填写该微服务的信息:

#服务的描述信息

info:

app:

name: helloServer-microcloud

author:

name: hhj

build:

artifactId: $project.artifactId$

version: $project.version$

company:

name: www.zl.com

server:

port: ${server.port}

显示:

四、服务发现

通过上面一些配置,这个服务的相关信息可以说比较友好了。但是还有个问题啊,

我公司别名起好了,地址也有了,也录入地图里了,但是我怎么能让外界知道这些信息呢?

我得有个公司主页吧,也就是说,得有个入口让别人知道这些信息才行。

我们需要暴露一个接口给外界,专门提供本服务的详细信息。

写一个接口,暴露给外界调用:

@RestController

@RequestMapping("/hello")public classInfoController {

@ResourceprivateEurekaClient client;private static final Logger LOGGER = LoggerFactory.getLogger(UserController.class);

@GetMapping("/discovery")publicObject discovery() {//获取Eureka中所有的服务节点

List applications =client.getApplications().getRegisteredApplications();if (applications != null) {for(Application application : applications) {//对外暴露的服务名称

String name =application.getName();//只看hello服务信息

if ("house-userService".equalsIgnoreCase(name)) {//服务有多少个实例,比如订单服务可能部署了多个,有多个订单服务注册到了eureka

List instances =application.getInstances();

LOGGER.info("所有的hello服务:{}", instances);if (instances != null) {for(InstanceInfo info : instances) {

LOGGER.info("服务id:{}", info.getInstanceId());

LOGGER.info("服务主机:{}", info.getHostName());

LOGGER.info("服务端口:{}", info.getPort());

}

}returninstances;

}

}

}return null;

}

}

需要引入 EurekaClient 端,在接口内部,通过 EurekaClient 获取到注册在 Eureka 上的所有 Application,

这里的 application 其实就是我们常说的服务节点,从而获取到服务节点的信息,

包括服务节点的名称、状态、IP、端口、心跳情况等信息。直接将服务的信息返回即可。

相关文章:

  • ubuntu 改屏幕分辨率命令_如何调整Ubuntu系统的分辨率和屏幕刷新率?
  • 一位销售的几年职业总结
  • data闭包 vue_vue中methods中的方法闭包缓存问题
  • 好用的视频转换切割软件
  • 中科罗伯特机器人吧_从汽车行业能预见工业机器人的未来吗
  • 找到一个新家,我要带着遗憾的泪水搬家了。
  • lamda 对比两个list_如何使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象(附代码)...
  • 论《Java替代C语言的可能性》
  • vue添加定位功能_Vue项目引用百度地图并实现搜索定位等功能
  • 通讯中的字节网络顺序和字节主机顺序
  • python tableau自动化导出_使用 Python 导出 Tableau 自定义形状 (Extracting Tableau Custom Shapes Using Python)...
  • tableau三轴该怎么做_在视图中为多个度量添加轴
  • 投资者的七个等级
  • python正则表达读取word_python 正则表达
  • python中土耳其编码范围_Python-编码这趟浑水
  • ES6指北【2】—— 箭头函数
  • @angular/forms 源码解析之双向绑定
  • 【Linux系统编程】快速查找errno错误码信息
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 77. Combinations
  • Android Studio:GIT提交项目到远程仓库
  • FastReport在线报表设计器工作原理
  • golang中接口赋值与方法集
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • PHP的Ev教程三(Periodic watcher)
  • Python学习之路13-记分
  • Quartz初级教程
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 百度地图API标注+时间轴组件
  • 编写符合Python风格的对象
  • 创建一个Struts2项目maven 方式
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端之React实战:创建跨平台的项目架构
  • 使用 Docker 部署 Spring Boot项目
  • 微信小程序设置上一页数据
  • 我的zsh配置, 2019最新方案
  • 我有几个粽子,和一个故事
  • 一道面试题引发的“血案”
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 阿里云服务器购买完整流程
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • # 安徽锐锋科技IDMS系统简介
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (42)STM32——LCD显示屏实验笔记
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)fiber的基本认识
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)