spring cloud系列教程第八篇-修改服务名称及获取注册中心注册者的信息

本文主要内容:

1:管理页面主机名及访问ip信息提示修改

2:获取当前注册中心的服务列表及每个服务对于的服务提供者列表

本文是由凯哥(凯哥Java:kagejava)发布的《spring cloud系列》教程的总第八篇:《修改服务名称及获取注册中心注册者的信息》。

本文是几个维度中的第一个维度:注册与发现维度配置中心管理之Eureka相关教程第五篇。

一:主机名及IP信息修改

在eureka管理页面显示的不是很友好。怎修改页面机器名称及访问连接URL的提示,来方便管理呢?

主要由如下图的两个地方修改

1:修改服务名称

先来看看当前问题:在注册中心status中显示的是机器ip,怎么修改成显示自己想要的?方便管理呢?

修改对应项目YML文件,在eureka相关配置中,添加 instance: instance-id: 自定义的名称。需要注意的是,这个instance需要和client对齐的。

如我们想要修改payment8001这个项目对应的自定义名称为paymeng8001。修改如下:

instance: instance-id: payment8001

如下图:

修改后,熟悉注册中心的管理页面:

2:修改范围信息中IP信息提示。

现在问题:将鼠标放置在服务上,没有ip提示。

修改方法:

同样,在需要修改的服务yml文件的eureka相关配置中在instance-id下面添加prefer-ip-adderss:ture

比如我们修改payment8002的:

添加完成后,刷新页面。我们可以看到:

以上修改相应代码对应git的版本:

为什么要添加这些呢?是为了访问吗服务管理。以后如果服务很多的话,我们想要知道对应服务的机器名称或者是ip是什么的时候,直接通过页面就可以查看了。

二:获取当前注册中心的服务列表及每个服务对于的服务提供者列表

这里就以payment8001为例来获取。

2.1:在controller中添加

@Resource

private DiscoveryClient discoveryClient;

2.2:获取注册中心所注册的服务名称(也就是application的名字)

//获取注册中心注册的服务列表。对应的就是Application

List<String> applicationList = discoveryClient.getServices();

2.3:根据服务名称获取到对应的服务实例。也就是application后面的status信息

//获取每个服务的提供者。对应的就是Application的status

List<ServiceInstance> instanceList = discoveryClient.getInstances(applicationName);

2.4:修改启动类

在启动类上添加启用discoverClient的注解

2.5:写测试类进行访问测试。

编辑

重启后,访问,查看效果:

获取到的信息和我们实际一致。说明从注册中心获取当前注册的服务信息及服务对应实例信息获取成功。

本案例代码对应git上面的tag版本是: v0.1.3-20200504

spring cloud系列教程第八篇-修改服务名称及获取注册中心注册者的信息的更多相关文章

  1. Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇

    Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...

  2. spring cloud系列教程第六篇-Eureka集群版

    spring cloud系列教程第六篇-Eureka集群版 本文主要内容: 本文来源:本文由凯哥Java(kaigejava)发布在博客园博客的.转载请注明 1:Eureka执行步骤理解 2:集群原理 ...

  3. spring cloud系列教程第四篇-Eureka基础知识

    通过前三篇文章学习,我们搭建好了两个微服务工程.即:order80和payment8001这两个服务.有了这两个基础的框架之后,我们将要开始往里面添加东西了.还记得分布式架构的几个维度吗?我们要通过一 ...

  4. Spring cloud系列教程第二篇:支付项目父工程图文搭建

    Spring cloud系列教程第二篇:支付项目父工程图文搭建 在讲解spring cloud相关的技术的时候,咱们就模拟订单支付这个流程来讲讲 在这个支付模块微服务搭建过程中,上面的这些技术,都会融 ...

  5. Spring Cloud系列教程第九篇-Eureka自我保护机制

    Spring Cloud系列教程第九篇-Eureka自我保护机制 本文主要内容: 1:自我保护介绍 2:导致原因分析 3:怎么禁止自我保护 本文是由凯哥(凯哥Java:kagejava)发布的< ...

  6. spring cloud系列教程第一篇-介绍

    spring cloud系列教程第一篇-介绍 前言: 现在Java招聘中最常见的是会微服务开发,微服务已经在国内火了几年了,而且也成了趋势了.那么,微服务只是指spring boot吗?当然不是了,微 ...

  7. Spring Cloud系列(一):微服务架构简介

    一.微服务概述 1.微服务是什么 微服务架构的核心就是服务的拆分,把传统的单体式应用,根据一定的维度(比如业务)拆分为一个一个的服务,每一个服务都有自身特定的功能,又都能够独立的部署,甚至可以拥有自己 ...

  8. Spring Cloud架构教程 (八)消息驱动的微服务(消费组)【Dalston版】

    使用消费组实现消息消费的负载均衡 通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一个服务启动多个实例的时候,这些实例都会绑定到同一个消息通道的目标主题(Topic)上. 默认情 ...

  9. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十三):配置中心(Config、Bus)

    在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每 ...

随机推荐

  1. Java-第15章图形用户界面设计例题

    Example15_1.java JFrame常用方法 import javax.swing.*; import static javax.swing.JFrame.*; public class E ...

  2. Java 泛型与集合

    1.List练习,请用泛型的写法来完成. 已知有一个Worker 类如下: public class Worker  { private int age; private String name; p ...

  3. python的性能测试(timeit)

    import timeit def test(): lista = [] listb = [] for i in range(100): lista.append(i) for i in range( ...

  4. Redis学习笔记(4)

    一.Redis主从复制 1. 概念 为了避免服务的单点故障,会把数据复制到多个副本放在不同的服务器上,且这些拥有数据副本的服务器可以用于处理客户端的读请求,扩展整体的性能.我们把这种机制称之为主从复制 ...

  5. 【JavaScript数据结构系列】02-栈Stack

    [JavaScript数据结构系列]02-栈Stack 码路工人 CoderMonkey 转载请注明作者与出处 ## 1. 认识栈结构 栈是非常常用的一种数据结构,与数组同属线性数据结构,不同于数组的 ...

  6. Linux,Mac下MySQL的安装及一些知识点的整理

    Linux下载安装 在服务器上下载的话,需要安装Mysql5.7相关的yum源 wget https://dev.mysql.com/get/mysql80-community-release-el7 ...

  7. Mysql面试的技术名词

    面试的技术名词 面试一般会遇到一些名词,其实可能自己都知道其中的道理,但是因为没了解过,当时心里就一句WC,然后弱弱答一句:不好意思这个我只是听过,具体还没了解过: 回表 覆盖索引 最左前缀匹配 索引 ...

  8. 容器技术之Docker常用命令说明

    前面我们聊了docker的基本概念.架构.镜像.网络.数据卷,回顾请参考https://www.cnblogs.com/qiuhom-1874/category/1766327.html:今天这篇博客 ...

  9. spring框架中三层架构相关的注解

    做了这么多年的C++,再去学Java,确实发现,语言都是相通的,即使是Java的那么多生态,理解起来也并不费劲 Spring 框架目前还在学习中,处于 Tourist 阶段,目前只求会做,不求原理,等 ...

  10. 管程(Monitor)概念及Java的实现原理

    互斥 互斥访问是并发编程要解决的核心问题之一. 有许多种方法可以满足临界区的互斥访问.大体上可以分为三种, 一种是软件方法,即由用户程序承担互斥访问的责任,而不需要依赖编程语言或操作系统,譬如Dekk ...