对于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包中对应的实现
看下两个关键点