点击上方蓝色字体,关注我们
背景
微服务在开发调试、上线运行时都可能发生各种问题。一旦发生问题,如果通过远程登录到主机上查看日志来定位问题会很麻烦,因此我们在servicecomb-java-chassis规划了Inspector这个模块。Inspector可以让我们通过浏览器直接访问微服务实例,获取丰富的微服务实例内部状态信息,而且,将来这些数据也可被治理中心实时读取。
下面,我们列举了一些可能遇到的问题场景:
找不到可用的目标实例
此时涉及的信息包括:
最近一次从ServiceCenter获得实例列表的时间以及内容?
最近一次向ServiceCenter请求实例列表时,是Not Modified,还是得到了实际的列表?
实例过滤算法中,每个节点的过滤状态如何?
过滤算法中内部判定依据是什么状态,比如被隔离的实例,为什么未达到恢复条件
等等……
EventBus有哪些订阅者,会不会存在一直重复订阅,不取消订阅的情况
微服务能支持通哪些URL访问
微服务提供了哪些契约,如何在线测试,如何分别以yaml、html格式查看
等等……
当前1.2.0-SHANPSHOT已经加入了inspector的第一个功能:契约的查看以及下载
契约的查看以及下载
1. 使用方法
只需要在pom中增加如下依赖即可:
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>inspector</artifactId>
</dependency>
2. 配置
在microservice.yaml中进行如下配置:
servicecomb:
inspector:
enabled: true
默认为true,表示启用inspector功能
3. 启动微服务实例后,通过浏览器访问微服务的rest端口即可,例如:http://localhost:8080/inspector/index.html
支持以下功能:
自动显示本微服务的契约列表
以swagger格式显示
契约在线测试
输入入参,点击执行,即可得到真正的执行结果
以HTML格式显示
HTML页面提供了更容易阅读的格式,方便开发者查看接口说明。
每个契约都可以分别以swagger/html格式下载
分别以swagger/html格式将所有契约打包成zip文件下载
后续规划
Inspector提供了一种开发态更轻量的使用方案。相对而言,Inspector更聚焦于非周期性上报数据的查看,对于周期性上报的数据,还是应该从集中的治理中心查看;将来集中的治理中心也需要能够查看Inspector中的数据。
目前,在Apache ServiceComb刚刚发布的 java chassis 1.2.0版本中已经支持Inspector,欢迎大家试用。
未来,新功能还会不断加入,欢迎大家贡献点子一起完善。
▼
往期精彩回顾
▼
扫码加群
更多精彩
客官!在看一下呗~