Su的技术博客

  • 首页
  • 原创
  • 视频
  • Java
  • MySQL
  • DDD
  • 事故复盘
  • 架构方案
  • AI
  • Other
  • 工具
    • AI工具集
    • 工具清单
    • JSON在线格式化
    • JSON在线比较
    • SQL在线格式化
  • 打赏
  • 关于
路很长,又很短
  1. 首页
  2. Java
  3. 正文
                           

【原创】Eureka 客户端配置注册地址为什么要加eureka做后缀?

2020-08-10 2167点热度 0人点赞 0条评论
Eureka 客户端配置注册地址为什么要加eureka做后缀?
点击上方蓝色字关注我们~
最近在网上看到别人提出了这个问题 :
 
Eureka 客户端配置注册地址为什么要加eureka做后缀?
现在从源码的角度简单剖析其原因。
 
我们知道,一般在配置注册中心eureka的地址类似这个:
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
 
而访问eureka注册中心控制台页面管理则是:http://localhost:8761,即可。
 
Eureka 客户端配置注册地址为什么要加eureka做后缀?
所以,这也是网友所疑惑的:为什么eureka.client.serviceUrl.defaultZone配置需要增加/eureka作为后缀。
 
我们知道,eureka使用的http组件是:Jersey。
Jersey 是 JAX-RS(JSR311)开源参考实现用于构建 RESTful Web service。此外 Jersey 还提供一些额外的 API 和扩展机制,所以开发人员能够按照自己的需要对 Jersey 进行扩展。
那么/eureka这个后缀是什么时候使用的,或者从哪里进行处理?
 
在EurekaServerAutoConfiguration中注入了Filter:
  @Bean  public FilterRegistrationBean jerseyFilterRegistration(      javax.ws.rs.core.Application eurekaJerseyApp) {    FilterRegistrationBean bean = new FilterRegistrationBean();    bean.setFilter(new ServletContainer(eurekaJerseyApp));    bean.setOrder(Ordered.LOWEST_PRECEDENCE);    bean.setUrlPatterns(        Collections.singletonList(EurekaConstants.DEFAULT_PREFIX + "/*"));
    return bean;  }
从上面源码可知,eureka server启动时创建了/eureka/*过滤器,所以所有相关注册请求都被此进行处理。
 
比如:eureka client启动时拉取实例数据入口:
Eureka 客户端配置注册地址为什么要加eureka做后缀?
Eureka 客户端配置注册地址为什么要加eureka做后缀?
而/{version}则为/eureka。
Eureka 客户端配置注册地址为什么要加eureka做后缀?
由此可知,/eureka是作为默认版本V2。并且后缀/eureka已经是被定义成常量,也就是说,eureka server提供的注册地址已经被规范化为包含/eureka。
 
那么,控制台请求和页面处理等,是在哪里处理呢?
 
Eureka 客户端配置注册地址为什么要加eureka做后缀?
Eureka 客户端配置注册地址为什么要加eureka做后缀?
由此,可知控制台处理是在spring-cloud-netflix-eureka-server这个项目模块中,可通过eureka.dashboard.path来配置控制台的地址,默认为:/。
 
同时,我们在配置eureka server yml配置文件时,是没有指定context-path,也就是默认为/。如果我们想指定的话,那么相关的配置都要进行调整。
server: port: 8761 context-path: /verysu # 默认为 /
此时访问eureka控制台则为:http://localhost:8761/verysu/
那么,eureka配置中心地址对应应该为:
eureka.client.serviceUrl.defaultZone=http://localhost:8761/verysu/eureka/
最后,我觉得网友的问题原因应该是:
1)eureka后台管理和客户端注册地址做区分,达到比较好的隔离作用,不同请求走不同context。
2)使用eureka作为后缀(固定/规范),也能很好的区分是将eureka作为注册中心,如果不是这样的话,直接给你一个地址可能并不清楚到底使用哪个注册中心了。
上面这些是我个人观点,如果你有不同想法,欢迎探讨哦。

 

【eureka相关源码剖析】

Eureka源码剖析之一:初始化-启动
Eureka源码之二:服务注册
Eureka源码剖析之三:服务拉取
Eureka源码剖析之四:服务续约
Eureka源码剖析之五:服务下线
Eureka源码剖析之六:自我保护机制
Eureka源码剖析之七:架构&面试题【总结】
回复公众号【资料】获得干货资料集锦:技术ppt、IT大会资料、架构、分布式资料等。
推荐好文

1、互联网Code Review最佳实践分享

2、dubbo面试题!会这些,说明你看懂了dubbo源码

3、Kafka面试题!掌握它才说明你真正懂Kafka
4、
Netty 5.0为啥被舍弃?原因竟然是...
5、
中台之上——业务架构系列【汇总】

6、必备瑞士军刀IDEA插件,你使用了哪些

7、线上热更新代码只需3步 Arthas实战

8、Eureka源码剖析之七:架构&面试题【总结】

9、互联网工程师应该用这种姿势打印日志

10、加入:互联网基础/架构交流群

Eureka 客户端配置注册地址为什么要加eureka做后缀?

-关注搬运工来架构,与优秀的你一同进步-

如果喜欢这篇文章可以点在看哦↘

本文仅供学习!所有权归属原作者。侵删!文章来源: 搬运工来架构

更多文章:

  1. Chrome插件(扩展)开发全攻略2.6w字,看这篇就够了!
  2. Eureka源码剖析之一:初始化-启动
  3. Eureka源码剖析之三:服务拉取
  4. Eureka源码剖析之五:服务下线
  5. Eureka源码剖析之四:服务续约
  6. Eureka源码之二:服务注册
  7. Eureka源码剖析之七:架构&面试题【总结】
  8. Go整洁架构实践
  9. Eureka源码剖析之六:自我保护机制
  10. mysql-connect-java驱动从5.x升级到8.x的CST时区问题
标签: 原创 源码 eureka 注册中心 微服务
最后更新:2023-12-19

Cocodroid

专注Java后端,分享技术。

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

广告
最新 热点 推荐
最新 热点 推荐
微服务架构:必懂的6大性能维度 Anthropic Code with Claude 开发者大会:开启 AI Agent 新时代 视频笔记-微服务架构P4:必懂5种设计模式 视频笔记:微服务架构P4 设计模式:每服务数据库、API 网关和事件驱动架构 干货 | 论Elasticsearch数据建模的重要性 马蜂窝消息总线——面向业务的消息服务设计 基于 MySQL Binlog 实现可配置的异构数据同步 视频笔记:Google发布Agent2Agent协议
LLM下半场之Agent基础能力概述:Profile、Memory、Plan、Action、Eval学习笔记 解决事件驱动架构中的数据一致性难题 笔记 | Java对象探秘 记一次JSF异步调用引起的接口可用率降低 浅析设计模式4——模板方法模式 log4j2同步日志引发的性能问题 9.包和命名空间(译) 从滴滴的故障我们能学到什么

CRUD (1) Event Sourcing (1) graphql (1) id (1) NoSQL (1) quarkus (1) rest (1) RocketMQ (2) Spring Boot (1) zk (1) zookeeper (1) 上下文 (1) 事务消息 (1) 二级缓存 (1) 值对象 (1) 关系数据库 (1) 分布式缓存 (1) 原子性 (1) 唯一ID (1) 商品 (1) 多对多 (1) 子域 (1) 字符集 (1) 客户端心跳 (1) 幂等 (2) 干货 (1) 并发 (1) 应用场景 (1) 应用架构图 (1) 康威定律 (2) 异步复制 (1) 微服务架构 (3) 总体方案 (1) 技术方案 (2) 技术架构 (2) 技术架构图 (1) 技能 (1) 持续集成 (1) 支撑域 (1) 故障恢复 (1) 数据架构图 (1) 方案选型 (1) 日记 (1) 服务发现 (1) 服务治理 (1) 服务注册 (2) 机房 (1) 核心域 (1) 泄漏 (1) 洋葱架构 (1) 消息队列 (5) 源码剖析 (1) 灰度发布 (1) 熔断 (1) 生态 (1) 画图工具 (1) 研发团队 (1) 线程 (2) 组织架构 (1) 缓存架构 (1) 编码 (1) 视频 (20) 读写分离 (1) 贵州 (1) 软件设计 (1) 迁移 (1) 通用域 (1) 集群化 (1) 雪花算法 (1) 顺序消息 (1)

推荐链接🔗
  • AI工具集
  • 工具箱🛠️

COPYRIGHT © 2014-2025 verysu.com . ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备15033072号-2