最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shardingsphered 線程安全問題示例分析

 更新時(shí)間:2023年06月02日 10:48:54   作者:雨翔河  
這篇文章主要為大家介紹了shardingsphered 線程安全問題示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

shardingsphere

shardingsphere 版本 3.1.0 ,也是目前的最新的正式版,項(xiàng)目并發(fā)量很高很笨重(啟動(dòng)較慢),且使用了按天分表策略,在使用 shardingsphere 的過程中發(fā)現(xiàn)其存在分表策略的線程安全問題,會(huì)導(dǎo)致分表策略沒有執(zhí)行,直接查詢的沒有分表策略的邏輯表。

原因:

io.shardingsphere.core.parsing.antlr.extractor.impl.FromWhereExtractor

實(shí)現(xiàn)類定義

public final class FromWhereExtractor implements OptionalSQLSegmentExtractor {
    private final TableNameExtractor tableNameExtractor = new TableNameExtractor();
    private PredicateExtractor predicateSegmentExtractor;
    ...
    public Optional<FromWhereSegment> extract(final ParserRuleContext ancestorNode, final ParserRuleContext rootNode) {
        ...
        predicateSegmentExtractor = new PredicateExtractor(result.getTableAliases());
        ...
    }
    ...

這個(gè)地方 predicateSegmentExtractor 是有線程安全問題的。

并發(fā)量高的時(shí)候,predicateSegmentExtractor 成為競爭資源。

現(xiàn)象分析

這導(dǎo)致的現(xiàn)象是:

應(yīng)用啟動(dòng)后分表策略不起效果,且是隨機(jī)性的,假設(shè)有 20 個(gè)應(yīng)用節(jié)點(diǎn),應(yīng)用重啟之后,其中會(huì)有一個(gè)或者少量節(jié)點(diǎn)會(huì)出現(xiàn)分表策略無效,查詢不到結(jié)果,再針對這個(gè)節(jié)點(diǎn)進(jìn)行重啟就會(huì)恢復(fù)正常,隨機(jī)性極高。

不僅僅是我們遇到這個(gè)問題,有別的研發(fā)公司也遇到過這種問題:

https://github.com/apache/shardingsphere/issues/1967

以上就是shardingsphered 線程安全問題示例分析的詳細(xì)內(nèi)容,更多關(guān)于shardingsphered 線程安全的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java servlet手機(jī)app訪問接口(一)數(shù)據(jù)加密傳輸驗(yàn)證

    java servlet手機(jī)app訪問接口(一)數(shù)據(jù)加密傳輸驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了java servlet手機(jī)app訪問接口(一),數(shù)據(jù)加密傳輸驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JSONArray在Java中的應(yīng)用操作實(shí)例

    JSONArray在Java中的應(yīng)用操作實(shí)例

    JSONArray是org.json庫用于處理JSON數(shù)組的類,可將Java對象(Map/List)轉(zhuǎn)換為JSON格式,提供增刪改查等操作,適用于前后端數(shù)據(jù)交互,并涵蓋安全、性能優(yōu)化及最佳實(shí)踐,本文給大家介紹JSONArray在Java中的應(yīng)用,感興趣的朋友一起看看吧
    2025-07-07
  • SpringBoot緩存Ehcache的使用詳解

    SpringBoot緩存Ehcache的使用詳解

    EhCache、Redis比較常用,使用Redis的時(shí)候需要先安裝Redis服務(wù)器,本文給大家介紹SpringBoot緩存Ehcache的使用詳解,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • Spring Boot教程之利用ActiveMQ實(shí)現(xiàn)延遲消息

    Spring Boot教程之利用ActiveMQ實(shí)現(xiàn)延遲消息

    這篇文章主要給大家介紹了關(guān)于Spring Boot教程之利用ActiveMQ實(shí)現(xiàn)延遲消息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • springcloud?feign集成hystrix方式

    springcloud?feign集成hystrix方式

    這篇文章主要介紹了springcloud?feign集成hystrix方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 關(guān)于Idea使用git時(shí)commit特別慢的問題及解決方法

    關(guān)于Idea使用git時(shí)commit特別慢的問題及解決方法

    這篇文章主要介紹了關(guān)于Idea使用git時(shí)commit特別慢的問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java關(guān)于String.split("|")的使用方式

    java關(guān)于String.split("|")的使用方式

    這篇文章主要介紹了java關(guān)于String.split("|")的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java工具之ja-netfilter?2022.1?配置教程

    Java工具之ja-netfilter?2022.1?配置教程

    這篇文章主要介紹了Java工具之ja-netfilter?2022.1?配置教程,本防火墻基于javaagent,所以目前只有基于java的程序能夠使用,需要的朋友可以參考下
    2022-04-04
  • MySQL中關(guān)鍵字UNION和UNION ALL的區(qū)別

    MySQL中關(guān)鍵字UNION和UNION ALL的區(qū)別

    本文主要介紹了MySQL中關(guān)鍵字UNION和UNION ALL的區(qū)別,深入探討UNION和UNION ALL的定義、用法、主要區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • WebClient拋UnsupportedMediaTypeException異常解決

    WebClient拋UnsupportedMediaTypeException異常解決

    這篇文章主要為大家介紹了WebClient拋UnsupportedMediaTypeException異常的解決方案,文中給大家介紹了六中方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02

最新評論

双鸭山市| 阿荣旗| 婺源县| 衡东县| 客服| 清河县| 阳原县| 高雄县| 定边县| 德令哈市| 抚州市| 海安县| 华池县| 紫金县| 饶阳县| 石门县| 西青区| 三明市| 宁晋县| 沛县| 理塘县| 沈阳市| 潍坊市| 南溪县| 斗六市| 汾阳市| 龙泉市| 炎陵县| 蓝山县| 南雄市| 重庆市| 海原县| 盱眙县| 霍林郭勒市| 横山县| 玛沁县| 定州市| 黄骅市| 景泰县| 东城区| 宝兴县|