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

shardingsphered 線程安全問題示例分析

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

shardingsphere

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

原因:

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

實現(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());
        ...
    }
    ...

這個地方 predicateSegmentExtractor 是有線程安全問題的。

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

現(xiàn)象分析

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

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

不僅僅是我們遇到這個問題,有別的研發(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ù)加密傳輸驗證

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

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

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

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

    SpringBoot緩存Ehcache的使用詳解

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

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

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

    springcloud?feign集成hystrix方式

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

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

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

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

    這篇文章主要介紹了java關(guān)于String.split("|")的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    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ū)別,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • WebClient拋UnsupportedMediaTypeException異常解決

    WebClient拋UnsupportedMediaTypeException異常解決

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

最新評論

白银市| 壤塘县| 鞍山市| 天祝| 乌恰县| 渭源县| 益阳市| 焦作市| 潼南县| 长垣县| 同德县| 常宁市| 蓬溪县| 峡江县| 额尔古纳市| 大埔区| 山西省| 隆昌县| 大连市| 邛崃市| 巴彦县| 璧山县| 和林格尔县| 延川县| 长宁区| 镇巴县| 兴山县| 固原市| 青阳县| 应用必备| 昌宁县| 成安县| 醴陵市| 浮山县| 永城市| 香河县| 彭山县| 金秀| 宾阳县| 新竹县| 吉林省|