如何在微服务治理中添加自定义接口

通过自定义Java SDK埋点和Java探针结合的方式将应用接入MSE微服务治理,可以更加灵活地对任意代码块进行操作。本文介绍如何为应用增加自定义埋点。

限制条件

  • 请确保您的MSE Java探针版本为3.2.9或以上。

  • 说明

    目前线上版本参考探针版本说明,如有需要也可以参考指定MSE探针版本来指定版本。

  • 目前由于编程模式的限制,只有具有流量的自定义接口才能在微服务治理中展示。

操作步骤

在您的应用已经接入MSE微服务治理的情况下,您可以按照如下操作来添加自定义接口。

  1. 在应用的pom.xml文件中添加以下依赖:

    <dependency>
      <groupId>com.alibaba.csp</groupId>
      <artifactId>sentinel-core</artifactId>
      <version>1.8.7</version>
    </dependency>
  2. 添加埋点。将您的业务逻辑使用以下进行封装:

    import com.alibaba.csp.sentinel.Entry;
    import com.alibaba.csp.sentinel.SphU;
    import com.alibaba.csp.sentinel.slots.block.BlockException;
    import com.alibaba.csp.sentinel.EntryType;
    
    // HelloWorld为该调用资源名称,控制台上监控页面、接口列表会显示该资源。
    // 配置规则的时候也是针对某个资源名称配置。
    // EntryType.IN标识该资源为入口资源。
    try (Entry entry = SphU.entry("HelloWorld", EntryType.IN)) {
     // 被保护的业务逻辑。
     System.out.println("Hello MSE Sentinel!");
    } catch (BlockException e) {
     // 触发流控降级,在此处进行限流处理(如Fallback或记录日志)。
    }
    说明
    • EntryType用于区分该资源是入口流量(Inbound)还是出口流量(Outbound)。EntryType.IN代表入口流量,EntryType.OUT代表出口流量。系统规则只对入口资源生效。

    • 控制台展示的监控的应用总流量仅统计EntryType.IN的流量。

    • SphU相关API文档,请参见常用类及其方法

    • 自定义埋点的资源名称最长不能超过1024个字符。

结果验证

登录MSE治理中心控制台在左侧导航栏选择治理中心 > 应用治理。若在应用治理页面出现该应用的资源卡片且有数据上报,说明接入成功。

image.png

同时,如果您配置的自定义接口有流量,那么在对应应用的自定义接口页签中,可以看到您自定义的接口:

自定义接口.png

相关文档

您可以对自定义接口进行流量防护,具体操作,请参见配置流控规则配置隔离规则配置熔断规则