Eureka:服务注册-信息配置-自我保护机制

首先在提供者服务下,添加一个依赖

XML 复制代码
<!--    Eureka    -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

在提供者yml加上

XML 复制代码
#Eureka的配置,服务注册到哪里
eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka/

主启动类

java 复制代码
package com.kuang.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient //在服务启动后自动注册到 eureka服务端
public class DeptApplicationProvider {
    public static void main(String[] args) {
        SpringApplication.run(DeptApplicationProvider.class,args);
    }
}

先启动服务端,

在启动提供者

访问http://localhost:7001/

自我保护机制

有些提供者再提供的时候断掉了连接,eureka会启动自我保护机制

需要完善监控信息

再提供者的pom文件加入

XML 复制代码
<!--    完善监控信息    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

提供者的yml文件

XML 复制代码
#info配置:
info:
  app.name: kuangshen-springcloud
  company.name: blog.kuangstudy.com

这个是显示公司信息用的

自我保护机制

信息显示机制

在提供者里pom文件加一个依赖

XML 复制代码
<!--    完善监控信息    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

yml加一个

XML 复制代码
#info配置:
info:
  app.name: kuangshen-springcloud
  company.name: blog.kuangstudy.com

在主启动类上面加一个注解

复制代码
@EnableDiscoveryClient//服务发现~
java 复制代码
package com.kuang.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient //在服务启动后自动注册到 eureka服务端
@EnableDiscoveryClient//服务发现~
public class DeptApplicationProvider_8001 {
    public static void main(String[] args) {
        SpringApplication.run(DeptApplicationProvider_8001.class,args);
    }
}

在controller写上方法

java 复制代码
   @GetMapping("/dept/discover")
    //注册进来的微服务~,获取一些消息
    public Object discovery(){
        //获取微服务列表的清单
        List<String> services = client.getServices();
        System.out.println("discovery=>services:"+services);

        //得到一个具体的微服务信息,通过具体的微服务id,applicationName
        List<ServiceInstance> instances = client.getInstances("SPRINGCLOUD-PROVIDER-DEPT");
        for (ServiceInstance instance : instances) {
            System.out.println(
                    instance.getHost()+"\t"+
                    instance.getPort()+"\t"+
                    instance.getUri()+"\t"+
                    instance.getServiceId()


            );
        }
        return this.client;

    }

然后先启动eureka

在启动提供者 访问

相关推荐
IT策士32 分钟前
第 47 篇 k8s之生产级考量:高可用、备份与升级
云原生·容器·kubernetes
小江的记录本41 分钟前
【Spring全家桶】Spring Cloud 2023.0.x:微服务核心理论、CAP/BASE定理(附《思维导图》+《面试高频考点清单》)
java·spring boot·后端·spring·spring cloud·微服务·面试
Solis程序员44 分钟前
缓存三剑客预防策略
java·spring·缓存
小义_1 小时前
【Linux 1】
linux·运维·云原生·红帽
我登哥MVP1 小时前
Spring Boot 从“会用”到“精通”:Model-Map原理
java·spring boot·后端·spring·servlet·maven·mybatis
程序猿乐锅1 小时前
【苍穹外卖|Day02】后台接口自测闭环:Token、DTO 与 yml 配置
java·开发语言
心之伊始1 小时前
Spring Boot Actuator + Micrometer 自定义业务指标:不只是健康检查
java·架构·源码分析·csdn
Eason_LYC1 小时前
【GetShell 实战】CVE-2026-34486 Tomcat 加密拦截器绕过:从漏洞验证到反弹 Shell 全流程
java·渗透测试·tomcat·java反序列化·rce·远程代码执行漏洞·cve-2026-34486
qq_2518364571 小时前
基于java 税务管理系统设计与实现
java·开发语言