Sentinel-客户端集成Apollo配置中心

本文介绍了如何将Sentinel客户端与Apollo配置中心集成,利用JDK SPI机制实现规则拉取。首先解释了SPI的概念及其在数据库驱动加载中的应用,然后详细说明了在Sentinel中如何扩展InitFunc接口来从Apollo获取流控规则,强调了客户端FastJson版本与Dashboard的一致性以及集成到SpringBoot Starter的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


对于Java主流框架SpringBoot,客户端可以通过spring-cloud-starter-alibaba-sentinel来快速接入Sentinel控制台,具体接入方法见下面链接,本文不做具体介绍

https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel

继上篇文章介绍Dashboard如何接入Apollo后,还剩下一个问题没解决,Sentinel Dashboard将流控规则推送到Apollo配置中心后,客户端如何实时监听到规则变化

JDK SPI机制

在介绍客户端如何接入Apollo配置中心拉取流控规则之前,先介绍下JDK SPI机制

1、什么是SPI?

SPI的全名为Service Provider Interface,是JDK内置的一种服务提供发现机制,对于面向接口开发的Java来说,SPI使得开发者能够在不同模块/不同jar包对同一接口做不同实现

2、具体应用例子?

数据库驱动的加载,不同的数据库Oracle,Mysql等在Java中需要加载不同的驱动,JDK中加载驱动的顶层抽象接口为java.sql.Driver

再来看下Mysql驱动jar包中对应的实现

在这里插入图片描述
看下两个关键点

  1. META-INF/services下有一个 以接口全路径为名称的文件,这是Spring的约定,即你要使用SPI拓展接口的实现,就需要在META-INF/services新建一个以接口
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值