解决springcloud-eureka注册时的ip问题

目录
  • springcloud-eureka注册,ip问题
    • 手动指定instance-id
    • 服务调用时外网ip使用
  • Eureka注册服务后,ip展示不正确,调用失败
    • 问题描述
      • 在eureka上展示出来的效果如下
    • 不废话,核心配置
      • 另外,如果这一行还不够,再加几行

springcloud-eureka注册,ip问题

在微服务注册到eureka时,在开启ip显示时,有时候会出现localhost的情况

手动指定instance-id

在配置文件中

eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${eureka.instance.appname}:${server.port}
springboot 2.0改为如下
eureka.instance.instance-id=${spring.cloud.client.ipaddress}:${eureka.instance.appname}:${server.port}

服务调用时外网ip使用

eureka注册时,默认的是内网ip,那么会出现在本地无法调用线上服务的问题 在配置文件中如下修改解决

spring.cloud.inetutils.ignored-interfaces[0]=eth0 (忽略某个网卡)

Eureka注册服务后,ip展示不正确,调用失败

问题描述

当同一服务名注册多个分布在不同服务器上的服务是,客户端在调用时,如果调用端和被调用端在同一服务器上可以调用成功,其他均不能调用成功。

在eureka上展示出来的效果如下

图上展示的是配置后可以正常访问的情况,也就是说,spring cloud的feign会自动把你在feign上的服务名转换为图片中左下角展示的这个ip。在eureka这个页面左下角展示的是什么,你服务实际使用httpclient调用的时候访问的地址就是什么。

不废话,核心配置

eureka.instance.prefer-ip-address=true

注意,是在eureka下,别放到别的地方,没啥用。除非有特殊用途,我们目前项目,发现都把配置文件放在了sever下了以为有,可是并没有生效,这个问题不大,但是报错信息不明显,只是会报unknowHostException,其他好多地方会说timeout,这个是两回事,不要搞混。timeout和unknowHost不一样。一个是连不通,一个是找不到。

另外,如果这一行还不够,再加几行

eureka.instance.preferIpAddress=true
eureka.instance.health-check-url=http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/health
eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}.${server.port}${server.context-path}/info
eureka.instance.metadataMap.management.context-path=${server.context-path}

仅此记录,仅为个人经验,希望能给大家一个参考吧,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Cloud EureKa Ribbon 服务注册发现与调用

    概述 用一个简单的例子演示Spring Cloud中EureKa和Ribbon的基本用法. 版本和环境 IDEA Spring Boot 1.5.·0 JDK 1.8 Maven 3 构建eureka server 在Spring Cloud,可以使用eureka来管理微服务,微服务可以注册到eureka中. 首先可以用IDEA的Spring Initialzr 来创建eureka server注册中心. 修改application.properties文件,添加如下内容 spring.appl

  • 详解SpringCloud eureka服务状态监听

    一.前言 近期由于公司不同平台项目之间的业务整合,需要做到相互访问! 每个平台均有自己的注册中心和服务,且注册中心相互之间并没有相互注册! 借助spring的事件监听,在eureka-server端监听服务注册,将所有服务的ip和port存放至redis库,然后让其他平台服务通过redis库获取ip和端口号,进而进行http调用.结构图如下: 二.事件解析 事件列表 在org.springframework.cloud.netflix.eureka.server.event包下会发现如下类: E

  • spring cloud 使用Eureka 进行服务治理方法

    服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Cloud Netflix 微服务套件的一部分,主要负责完成微服务架构中的服务治理功能. 本文通过简单的小例子来分享下如何通过Eureka进行服务治理: 搭建服务注册中心 注册服务提供者 服务发现和消费 ==========我是华丽的分割线======================== 一.搭建服务注册中心 先列出完整目录结构: 搭建过程如下

  • springCloud服务注册Eureka实现过程图解

    介绍 Eureka 是Netfix开发的,一个基于Rest服务的,服务注册与发现的组件. 主要包括两个组件:Eureka Server和Eureka Client Eureka Server:注册中心,提供服务注册与发现 Eureka Client:java客户端(通常就是微服务中的客户端和服务端) 上图简要描述了Eureka的基本架构,由3个角色组成: 1.Eureka Server(注册中心,相当于中介) 2.Service Provider(服务提供方,相当于房东) 3.Service C

  • 解决springcloud-eureka注册时的ip问题

    目录 springcloud-eureka注册,ip问题 手动指定instance-id 服务调用时外网ip使用 Eureka注册服务后,ip展示不正确,调用失败 问题描述 在eureka上展示出来的效果如下 不废话,核心配置 另外,如果这一行还不够,再加几行 springcloud-eureka注册,ip问题 在微服务注册到eureka时,在开启ip显示时,有时候会出现localhost的情况 手动指定instance-id 在配置文件中 eureka.instance.prefer-ip-a

  • Spring-Cloud Eureka注册中心实现高可用搭建

    前言: spring-cloud为基础的微服务架构,所有的微服务都需要注册到注册中心,如果这个注册中心阻塞或者崩了,那么整个系统都无法继续正常提供服务,所以,这里就需要对注册中心进行集群,换言之,高可用(HA) 前提: 阅读并完成第一个注册中心的项目,环境无需改变.本文是 模拟的高可用 , 可以复制两个注册中心的项目单独修改各自的配置文件达到同样的效果 修改hosts,在文件末添加两行如下: 127.0.0.1 peer1 127.0.0.1 peer2 推荐使用notepad++,如果是win

  • Spring cloud Eureka注册中心搭建的方法

    前提  系统安装jdk1.8及以上,配置好maven的ide(这里用idea进行演示,maven版本3.5,配置阿里云源) 项目搭建 新建一个maven项目,创建最简单的那种就好,项目名这里为EurekaServerDemo,包名什么的随意,项目打包方式为jar, 也可以使用spring官方的生成器,官方的生成器会创建基础的springboot项目结构.这里为了演示,都可以 修改pom文件,参考如下,版本推荐和本文相同,springboot和cloud版本的坑很多 <?xml version=&qu

  • SpringCloud 服务注册IP错误的解决

    SpringCloud 服务注册IP错误 1.错误原因 在服务注册的时候,是使用 spring.cloud.client.ipAddress 这个变量,如果本机有多个网卡,那么可能会把不是本机以太网的网卡地址注册上去. 使用 ipconfig 可以看到,本机上有多个以太网适配器,而每个以太网适配器,都有一个 IPv4 地址,这时注册上去的 IP,就是其中一个,却不一定是正确的那个. 2.处理 2.1.禁用其他网卡 到电脑的 更改适配器 设置中,将不是本机以太网的其他网卡禁用 2.2.配置 到电脑

  • SpringCloud Eureka服务注册中心应用入门详解

    目录 1.多节点无缝切换问题 2.服务注册与发现 Eureka 3.Springboot集成Eureka 3.1 父包pom依赖 3.2 eureka服务端 3.3 客户端 pom依赖 yml配置 3.4 控制台 1.多节点无缝切换问题 分布式节点中的服务宕机或者重启不影响客户端使用 分布式节点中的服务宕机重启不影响业务服务内部通信 如果在某个分布式系统中想要解决上述问题,那么这篇文章就是精华之处. 回顾一下以前的常用手段: 单节点运行,其他节点备用,无法无缝连接,内网通信无法保证 多节点运行,

  • springcloud注册hostname或者ip的那些事

    SpringCloud简介 Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的 微服务:就是把一个单体项目,拆分为多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维.并且多个服务相互协调,相互配合,最终完成用户的价值. Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都可以用

  • 5分钟搭建SpringCloud Eureka服务注册中心的实现

    创建父级项目 只需保留pom.xml文件 这里只需搭建一个微服务 其他操作并无 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&qu

  • SpringCloud Eureka服务治理之服务注册服务发现

    目录 什么是Eureka Eureka核心概念服务注册和服务发现 服务注册 服务发现 Eureka实战 Eureka服务端单节点构建 Eureka服务端集群构建 Eureka客户端构建 什么是Eureka Netflix Eureka 是一款由 Netflix 开源的基于 REST 服务的注册中心,用于提供服务发现功能.Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 进行了二次封装,主要负责完成微服务架

  • springcloud实现注册中心Eureka

    Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现.也是springcloud体系中最重要最核心的组件之一. 背景介绍 服务中心 服务中心又称注册中心,管理各种服务功能包括服务的注册.发现.熔断.负载.降级等,比如dubbo admin后台的各种功能. 有了服务中心调用关系会有什么变化,画几个简图来帮忙理解 项目A调用项目B 正常调用项目A请求项目B 有了服务中心之后,任何一个服务都不能直接去掉用

  • SpringCloud Eureka实现服务注册与发现

    前言 Eureka是一种基于REST(具像状态传输)的服务,主要用于AWS云中定位服务,以实现中间层服务器的负载平衡和故障转移.本文记录一个简单的服务注册与发现实例. GitHub地址:https://github.com/Netflix/eureka 官网文档:https://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.1.0.RC2/single/spring-cloud-netflix.html Eureka-Ser

随机推荐