日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SpringBoot2.0+Nacos+Sentinel流控規(guī)則集中存儲

前言

成都創(chuàng)新互聯(lián)公司服務項目包括巴林右旗網(wǎng)站建設、巴林右旗網(wǎng)站制作、巴林右旗網(wǎng)頁制作以及巴林右旗網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,巴林右旗網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到巴林右旗省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

Sentinel 原生版本的規(guī)則管理通過API 將規(guī)則推送至客戶端并直接更新到內(nèi)存中,并不能直接用于生產(chǎn)環(huán)境。不過官方也提供了一種 Push模式,擴展讀數(shù)據(jù)源ReadableDataSource,規(guī)則中心統(tǒng)一推送,客戶端通過注冊監(jiān)聽器的方式時刻監(jiān)聽變化,比如使用 Nacos、Zookeeper 等配置中心。這種方式有更好的實時性和一致性保證。這里我們通過配置 Nacos 來實現(xiàn)流控規(guī)則的統(tǒng)一存儲配置。

架構(gòu)

SpringBoot 2.0 + Nacos + Sentinel 流控規(guī)則集中存儲

控制臺推送規(guī)則至配置中心,客戶端通過監(jiān)聽事件從配置中心獲取流控規(guī)則。

客戶端配置

pom.xml 引入:


?com.alibaba.csp
?sentinel-datasource-nacos
?1.6.3
?

配置文件:

#?nacos的訪問地址,配置參考?https://blog.52itstyle.vip/archives/4174/?
spring.cloud.sentinel.datasource.ds.nacos.server-addr=47.104.187.19:8848
#nacos中存儲規(guī)則的dataId,對于dataId使用了${spring.application.name}變量,這樣可以根據(jù)應用名來區(qū)分不同的規(guī)則配置
spring.cloud.sentinel.datasource.ds.nacos.dataId=${spring.application.name}-flow-rules
#nacos中存儲規(guī)則的groupId
spring.cloud.sentinel.datasource.ds.nacos.groupId=SENTINEL_GROUP
#定義存儲的規(guī)則類型
spring.cloud.sentinel.datasource.ds.nacos.rule-type=flow

控制臺配置

修改 pom.xml,原來的test去掉:


?com.alibaba.csp
?sentinel-datasource-nacos

把 src/test 下面的包 com.alibaba.csp.sentinel.dashboard.rule.nacos 拷貝到src/main/java 下面。

修改 NacosConfig:

/**
?*?@author?Eric?Zhao
?*?@since?1.4.0
?*/
@Configuration
public?class?NacosConfig?{
?@Value("${nacos.address}")
?private?String?address;
?@Bean
?public?Converter,?String>?flowRuleEntityEncoder()?{
?return?JSON::toJSONString;
?}
?@Bean
?public?Converter>?flowRuleEntityDecoder()?{
?return?s?->?JSON.parseArray(s,?FlowRuleEntity.class);
?}
?@Bean
?public?ConfigService?nacosConfigService()?throws?Exception?{
?Properties?properties?=?new?Properties();
?properties.put("serverAddr",address);
?return?ConfigFactory.createConfigService(properties);
?}
}

application.properties 配置引入 Nacos:

#?nacos的訪問地址,配置參考?https://blog.52itstyle.vip/archives/4174/?
nacos.address=47.104.197.19:8848

FlowControllerV2 指定對應的 Bean 開啟 Nacos 適配。

@Autowired
@Qualifier("flowRuleNacosProvider")
private?DynamicRuleProvider>?ruleProvider;
@Autowired
@Qualifier("flowRuleNacosPublisher")
private?DynamicRulePublisher>?rulePublisher;

修改sidebar.html頁面, 流控規(guī)則路由從 dashboard.flowV1 改成 dashboard.flow

<--?nacos?動態(tài)規(guī)則配置-->

?
??流控規(guī)則

如圖所示,界面會多了一個回到單機頁面的按鈕,這里我們新增一個流控規(guī)則。

SpringBoot 2.0 + Nacos + Sentinel 流控規(guī)則集中存儲

登錄 Nacos 后臺,配置管理->配置列表:

SpringBoot 2.0 + Nacos + Sentinel 流控規(guī)則集中存儲

點擊進入配置詳情,配置內(nèi)容如下:

[{
?"app":?"blog",
?"clusterConfig":?{
?"fallbackToLocalWhenFail":?true,
?"sampleCount":?10,
?"strategy":?0,
?"thresholdType":?0,
?"windowIntervalMs":?1000
?},
?"clusterMode":?false,
?"controlBehavior":?0,
?"count":?2.0,
?"gmtCreate":?1568617671812,
?"gmtModified":?1568622253889,
?"grade":?1,
?"id":?6,
?"ip":?"10.136.168.88",
?"limitApp":?"default",
?"port":?8720,
?"resource":?"blogView",
?"strategy":?0
}]

小結(jié)

生產(chǎn)環(huán)境下,推送規(guī)則正確做法應該是 配置中心控制臺/Sentinel 控制臺 → 配置中心 → Sentinel 數(shù)據(jù)源 → Sentinel。

案例

https://gitee.com/52itstyle/spring-boot-blog

點擊獲取?附送學習進階架構(gòu)資料、PDF書籍文檔、面試資料

SpringBoot 2.0 + Nacos + Sentinel 流控規(guī)則集中存儲

SpringBoot 2.0 + Nacos + Sentinel 流控規(guī)則集中存儲


當前標題:SpringBoot2.0+Nacos+Sentinel流控規(guī)則集中存儲
分享URL:http://www.dlmjj.cn/article/jejhjd.html