前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Cloud Eureka REST 接口

Spring Cloud Eureka REST 接口

作者头像
猿天地
发布2018-04-03 12:52:34
1.9K0
发布2018-04-03 12:52:34
举报
文章被收录于专栏:猿天地猿天地

Eureka 作为注册中心,其本质是存储了每个客户端的注册信息,Ribbon在转发的时候会获取注册中心的服务列表,然后根据对应的路由规则来选择一个服务给Feign来进行调用。

如果我们不是Spring Cloud技术选型,也想用Eureka可以吗?完全可以

如果不是Spring Cloud技术栈个人推荐用zk之类的会方便些,当然用Eureka也是可以的

这样的话就涉及到如何注册信息,获取注册的信息等等操作了

其实Eureka也考虑到了这点,提供了很多REST接口来给我们调用

文档地址:https://github.com/Netflix/eureka/wiki/Eureka-REST-operations

我们举一个比较有用的案列来说明下

Nginx动态进行upstream的配置

在架构变成微服务之后,具体的微服务是没有依赖的,可以独立部署,端口也可以随机分配,反正会注册到注册中心里面,调用方也无需关心提供方的ip和port, 这些都可以从注册中心拿到

但是有一个问题是API网关的部署能这样吗,API网关大部分会用Nginx做负载,那么Nginx就必须知道API网关有哪几个节点,这样网关服务就不能随便启动了,需要固定好

当然网关是不会经常变动,也不会经常发布的,这样其实也没什么大问题,唯一不好的就是不能自动扩容了

其实利用Eureka提供的API我们可以获取到某个服务的实例信息,也就是说我们可以根据Eureka中的数据来动态配置Nginx的upstream

这样就可以做到网关的自动部署和扩容了,网上也有很多的方案,结合Lua脚本来做,或者自己写Sheel脚本也都可以

下面我们说明下怎么获取Eureka中注册的信息

具体的接口信息请查看我上面贴的官方文档

获取某个服务的注册信息

可以直接GET请求:http://localhost:8761/eureka/apps/fsh-house

fsh-house是你的应用名称也就是spring.application.name

默认是返回xml格式的数据,如果你想返回json数据的格式,在请求头中添加下面2个即可:

代码语言:javascript
复制
Content-Type:application/json
Accept:application/json

如果Eureka开启了认证,记得添加认证信息,用户名和密码必须是Base64编码过的

代码语言:javascript
复制
Authorization:Basic 用户名:密码

其余的接口就不做过多讲解了,大家自己去试试

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 猿天地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nginx动态进行upstream的配置
  • 获取某个服务的注册信息
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档