精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Disruptor 高性能環形消息隊列應用,Log4j 2 也用到了這套技術

云計算 分布式
在分布式軟件系統架構設計中,所有的并發資源的競爭,都會往無鎖化、非獨占競爭?,以及柔性事務設計。柔性事務用于替代傳統事務管理中(如ACID屬性:原子性、一致性、隔離性、持久性),在分布式架構系統中的使用場景。通過消息、補償,協調不同服務間的一致性。

說到底,無論是晉升述職還是面試考察,編程技能的展現總是在那些技術的橫向對比和深度的了解運用。知其一,也知其二。一個場景的問題,往往也會對應著多種的解決方案,從沒有絕對的好和不好,都是是否適合而已。所以,往往技術越好的,也越低調,不那么咋咋呼呼的。

什么是柔性事務?

在分布式軟件系統架構設計中,所有的并發資源的競爭,都會往無鎖化、非獨占競爭,以及柔性事務設計。柔性事務用于替代傳統事務管理中(如ACID屬性:原子性、一致性、隔離性、持久性),在分布式架構系統中的使用場景。通過消息、補償,協調不同服務間的一致性。

圖片圖片

那么在消息的使用中,除了有 MQ 消息,使用于微服務之間。還有本地消息,可以作用在各個領域間驅動流程。關于本地消息可以用,Spring 的監聽、Redis 發布訂閱、Guava EventBus 事件總線,這些內容在小傅哥博客 bugstack.cn 《路書》中有相關的案例。之后本節咱們介紹一個新的高性能組件 Disruptor 的使用。

一、關于 Disruptor

Disruptor 是一種高性能的并發框架,最初由 LMAX 開發,用于解決高吞吐量、低延遲的消息處理問題。它提供了一種無鎖的、有序的事件處理模型,非常適合處理需要高性能的場景。Disruptor 本身并不是用于實現事務的框架,而是一個事件處理器。因此,要在 Disruptor 上實現柔性事務,需要結合其事件處理能力與柔性事務的模式。

  • 源碼:https://github.com/LMAX-Exchange/disruptor
  • 文檔:https://lmax-exchange.github.io/disruptor/ - 谷歌瀏覽器右鍵點翻譯為中文。

二、實戰案例

1. 工程結構

小傅哥準備好了一份基于 Disruptor 事件消息的使用案例工程,你可以直接上手體現。

圖片圖片

  • app 是使用的啟動層、trigger 是提供接口、監聽消息、處理任務的觸發器層。
  • 在這里我們通過 trigger 下的 event 包,監聽事件消息。之后把這個 XxxEventHandler 讓 app 層下的 Disruptor 進行實例化。

2. 引入POM

<!-- https://mvnrepository.com/artifact/com.lmax/disruptor -->
<dependency>
    <groupId>com.lmax</groupId>
    <artifactId>disruptor</artifactId>
    <version>3.4.4</version>
</dependency>
  • 引入 disruptor pom 包。

3. 監聽消息

@Slf4j
public class XxxEventHandler implements EventHandler<XxxEventHandler.Message> {

    @Override
    public void onEvent(Message longEvent, long l, boolean b) throws Exception {
        log.info("接收消息:{}", longEvent.getValue());
    }

    @Data
    public static class Message {
        private String value;
    }

}
  • 在 trigger 下 event 包內,加一個實現了 disruptor EventHandler 的監聽實現類,消息體類型我們定義到 XxxEventHandler 中,也就是 Message。具體生產使用的時候,按需調整。
  • 這個接收消息的過程和使用 MQ 的方式是一樣的。

4. 實例化監聽

@Configuration
public class DisruptorConfig {

    private final ExecutorService executor = Executors.newCachedThreadPool();

    @Bean("xxxEventDisruptor")
    public Disruptor<XxxEventHandler.Message> disruptor() {
        // 環形隊列的大小,注意要是2的冪
        int bufferSize = 1024;

        // 創建Disruptor
        Disruptor<XxxEventHandler.Message> disruptor = new Disruptor<>(XxxEventHandler.Message::new, bufferSize, executor);

        // 連接事件處理器
        disruptor.handleEventsWith(new XxxEventHandler());

        // 開始Disruptor
        disruptor.start();

        return disruptor;
    }

}
  • 在 App 模塊下,有一個 config 專門的配置類,在這里配置下消息監聽。這個過程和我們之前使用的 Redis 發布訂閱是一樣的。

5. 推送消息(Test)

@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class DisruptorTest {

    @Resource
    private Disruptor<XxxEventHandler.Message> xxxEventDisruptor;

    @Test
    public void test_publishEvent() throws InterruptedException {

        for (int i = 0; i < 10; i++) {
            xxxEventDisruptor.publishEvent((event, sequence) -> event.setValue("你好,我是 Disruptor Message"));
        }

        // 暫停 - 測試完手動關閉程序
        new CountDownLatch(1).await();
    }

}
24-10-26.11:55:55.827 [main            ] INFO  DisruptorTest          - Starting DisruptorTest using Java 1.8.0_311 on MacBook-Pro.local with PID 92827 (started by fuzhengwei in /Users/fuzhengwei/1024/KnowledgePlanet/road-map/xfg-dev-tech-disruptor/xfg-dev-tech-app)
24-10-26.11:55:55.829 [main            ] INFO  DisruptorTest          - The following 1 profile is active: "dev"
24-10-26.11:55:57.749 [main            ] INFO  DisruptorTest          - Started DisruptorTest in 2.526 seconds (JVM running for 3.741)
24-10-26.11:55:58.125 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
24-10-26.11:55:58.128 [pool-2-thread-1 ] INFO  XxxEventHandler        - 接收消息:你好,我是 Disruptor Message
  • 提供一個單測來測試消息推送,這樣你就可以監聽到消息了。

三、總結

在美團、京東、阿里,等各個大廠中都有很多這樣的組件使用,在美團發布過的文章中《高性能隊列——Disruptor》 還有一個對應的壓測數據。CPU:Intel Core i7-2720QM,JVM:Java 1.6.0_25 64-bit,OS:Ubuntu 11.04

-

ABQ

Disruptor

Unicast: 1P – 1C

4,057,453

22,381,378

Pipeline: 1P – 3C

2,006,903

15,857,913

Sequencer: 3P – 1C

2,056,118

14,540,519

Multicast: 1P – 3C

260,733

10,860,121

Diamond: 1P – 3C

2,082,725

15,295,197

  • 依據并發競爭的激烈程度的不同,Disruptor比ArrayBlockingQueue吞吐量快4~7倍。

另外,Log4j 2 采用了 Disruptor(一種無鎖的線程間通信庫),提高吞吐量降低延遲。在生產使用中,大并發的系統注意 Log4j 版本。官網說明:https://logging.apache.org/log4j/2.12.x/manual/async.html

圖片圖片

  • 異步 Logger是 Log4j 2 中的新增功能。其目的是盡快從對 Logger.log 的調用返回到應用程序。您可以選擇使所有 Logger 異步,或使用同步和異步 Logger 的混合。使所有 Logger 異步將提供最佳性能,而混合使用則可為您提供更大的靈活性。
  • LMAX Disruptor 技術。異步記錄器內部使用 Disruptor(一種無鎖的線程間通信庫)而不是隊列,從而實現更高的吞吐量和更低的延遲。
  • 作為異步日志記錄器工作的一部分,異步附加器已得到增強,可以在批處理結束時(當隊列為空時)刷新到磁盤。這會產生與配置“immediateFlush=true”相同的結果,即所有收到的日志事件始終在磁盤上可用,但效率更高,因為它不需要在每個日志事件上都接觸磁盤。(異步附加器在內部使用 ArrayBlockingQueue,不需要類路徑上的 Disruptor jar。)
責任編輯:武曉燕 來源: bugstack蟲洞棧
相關推薦

2025-08-14 07:42:21

2020-11-04 12:33:08

Log4j 2日志Logback

2022-06-09 08:36:56

高性能Disruptor模式

2022-12-09 08:40:56

高性能內存隊列

2022-02-15 17:51:38

Log4j漏洞網絡安全

2022-02-13 16:18:57

JetBrainsIntelliJLog4j

2022-03-25 13:42:15

Log4j漏洞網絡安全

2021-12-14 23:44:26

漏洞Log4j項目

2021-12-21 14:25:01

Log4j2漏洞網絡

2016-10-21 13:10:18

javalog4jslf4j

2025-01-15 07:54:02

2020-01-07 10:06:26

Slf4jLog4JLogback

2009-06-12 17:03:51

JBoss和log4j

2022-03-30 11:29:53

漏洞補丁Spring

2021-12-20 09:25:02

Log4j漏洞網絡攻擊網絡安全

2009-07-08 14:33:46

Java日志框架Log4J

2022-01-10 11:54:54

FTCLog4j聯邦貿易委員會

2021-12-24 09:52:31

Traefik Log4J 漏洞

2021-06-03 10:58:16

logbacklog4jJava

2021-12-23 09:47:36

Log4jRCE漏洞DoS漏洞
點贊
收藏

51CTO技術棧公眾號

在线亚洲成人| 欧美一级做一级爱a做片性| 高清国产一区二区| 91高清免费在线观看| 国产在线观看h| 中文字幕日本一区| 婷婷中文字幕综合| 亚洲精品不卡| 国产91免费看| 麻豆精品一区二区综合av| 欧美日韩成人在线观看| 人妻丰满熟妇av无码久久洗澡 | 国产a级一级片| 中文字幕在线免费| 国产91丝袜在线播放九色| 奇米成人av国产一区二区三区| 永久免费观看片现看| 日韩国产在线不卡视频| 日本高清无吗v一区| 大陆极品少妇内射aaaaaa| 免费理论片在线观看播放老| 国产美女视频一区| 国产精品扒开腿爽爽爽视频| 青青草手机视频在线观看| 久久91成人| 亚洲成人黄色在线| 午夜一区二区视频| 外国成人直播| 亚洲电影在线免费观看| 中文字幕一区二区三区四区五区| 日韩精品123| 粉嫩高潮美女一区二区三区| 国产精品爽爽爽| 国产免费av一区| 激情欧美丁香| 色综合久综合久久综合久鬼88| 国产精品视频在| 中文字幕av一区二区三区人| 欧美精品一区二区在线播放| 国产5g成人5g天天爽| 最新日韩一区| 日本高清免费不卡视频| 青青艹视频在线| 高清电影在线免费观看| 亚洲精品欧美在线| 综合视频免费看| av大全在线免费看| 国产亚洲欧美日韩在线一区| 欧美一级片免费观看| 五月婷婷丁香网| 不卡视频在线观看| 国产精品xxxx| 亚洲男人天堂久久| 成人午夜免费视频| 99理论电影网| 亚洲精品免费在线观看视频| 国产精品123区| 成人自拍视频网站| 亚洲精品一区二区三区不卡| 丁香激情综合五月| 国产三级精品在线不卡| 手机在线不卡av| 99精品欧美一区| 精品国产免费一区二区三区 | 高清视频一区二区| 成人动漫在线视频| 黄色av小说在线观看| 成人av免费在线播放| 国产一区二区在线网站| 亚洲日本中文字幕在线| 久久久www成人免费无遮挡大片 | 伊人成综合网| 欧美激情亚洲另类| 久草精品视频在线观看| 色哟哟一一国产精品| 日韩三级视频| 亚洲精品小视频| 精品人伦一区二区| 日韩欧美中文| 久久国产精品久久久久久久久久| 中文字幕av久久爽av| 欧美体内she精视频在线观看| 欧美精品aaa| 欧产日产国产69| 日本欧美一区二区三区乱码| 91人成网站www| 蜜臀久久99精品久久久| 久久综合九色综合97_久久久| 香蕉久久夜色| 久久五月精品中文字幕| 欧美日韩亚洲视频| www午夜视频| 午夜免费欧美电影| 日韩av一区在线观看| www在线观看免费视频| 91视频一区| 久久久噜噜噜久久久| 久久精品无码av| 国产一区二区调教| 国产欧美一区二区在线播放| 黄色的视频在线免费观看| 中文字幕综合网| 黄色特一级视频| 中文字幕这里只有精品| 欧美久久久久久久久| 秘密基地免费观看完整版中文| 天堂一区二区三区四区| 北条麻妃在线一区二区| 日韩av一区二区在线播放| 免费欧美日韩国产三级电影| 国产欧美一区二区三区另类精品| 伊人在线视频| 欧美日韩中国免费专区在线看| www.cao超碰| 国产99久久| 欧美激情videos| 在线观看亚洲一区二区| bt欧美亚洲午夜电影天堂| 亚洲欧洲日韩精品| 亚洲精品88| 精品福利一区二区三区免费视频| 国产精品麻豆免费版现看视频| 国产农村妇女毛片精品久久莱园子| 91情侣偷在线精品国产| 欧美另类自拍| 精品福利樱桃av导航| 日本精品一区在线| jiujiure精品视频播放| 26uuu另类亚洲欧美日本老年| 国产高清免费av| 亚洲国产精华液网站w| 91传媒久久久| 欧美巨大xxxx| 午夜精品福利在线观看| www.成人免费视频| 亚洲人123区| 亚洲精品20p| 成人嘿咻视频免费看| 欧美亚洲日本黄色| 隣の若妻さん波多野结衣| 亚洲乱码中文字幕| 手机av在线网| 欧美大片aaaa| 国产日本欧美一区| jizz日韩| 欧美区在线观看| 久久视频一区二区三区| 日本中文字幕一区二区有限公司| 免费国产一区| 日本不卡一二三| 亚洲欧美激情精品一区二区| 亚洲免费在线观看av| 99视频超级精品| 日韩欧美一区二| 网曝91综合精品门事件在线| 欧美性视频网站| 青青青免费视频在线2| 欧美性高潮床叫视频| 久久无码人妻精品一区二区三区| 亚洲永久字幕| 日本一区不卡| 国产精品久久久久久吹潮| 中文字幕日韩av综合精品| 中文字幕观看视频| 国产精品福利av| 欧美精品色视频| 国产精品xvideos88| 国产日韩久久| 免费成人动漫| 日日摸夜夜添一区| 99热这里只有精| 亚洲小说欧美激情另类| 亚洲天堂成人av| 日本欧美加勒比视频| 亚洲一区二区四区| 久久久国产精品入口麻豆| 久久久久女教师免费一区| 亚州男人的天堂| 欧洲av一区二区嗯嗯嗯啊| 青花影视在线观看免费高清| 国产精品一区二区黑丝| 一区二区传媒有限公司| 成人动漫免费在线观看| 99国精产品一二二线| 欧亚av在线| 中文字幕日韩av| 狠狠综合久久av一区二区| 日韩欧美中文字幕在线播放| 天美传媒免费在线观看| 国产91富婆露脸刺激对白| 亚洲欧洲日产国码无码久久99 | 亚洲国产精品嫩草影院久久| 欧美一区二区激情视频| 国产精品久久久久久亚洲伦| 天天综合成人网| 国产精品videosex极品| 91在线视频导航| 懂色av一区| 亚洲精品一区久久久久久| 亚洲最大成人av| 污片在线观看一区二区| 欧美日韩国产一二三区| 成人综合婷婷国产精品久久蜜臀| 可以在线看的黄色网址| 91tv精品福利国产在线观看| 精品人伦一区二区三区| 四虎精品在线观看| 97久久久免费福利网址| 91精品专区| 亚洲精品国产精品国自产观看浪潮 | 欧美日韩大片免费观看| 国产精品久久久久久久久久免费| av中文字幕在线播放| 亚洲国内高清视频| 国产精品乱码久久久| 欧美午夜影院在线视频| 久草中文在线视频| 欧美激情资源网| 性色av蜜臀av色欲av| 国产乱码精品一区二区三区忘忧草 | 国产女精品视频网站免费| 黄色污网站在线观看| 久久精品国产视频| 性xxxx搡xxxxx搡欧美| 日韩欧美久久一区| 一级片一区二区三区| 日韩欧中文字幕| 国产网友自拍视频| 亚洲激情在线播放| 999精品在线视频| 欧美国产成人在线| 丰满大乳奶做爰ⅹxx视频| 国产精品一区二区无线| 亚洲美女性囗交| 日韩电影在线免费观看| 日韩av黄色网址| 亚洲日韩成人| 人妻无码久久一区二区三区免费| 欧美在线二区| 六月婷婷激情网| 久久久国产精品| 在线看无码的免费网站| 日韩成人精品一区二区| 日本高清不卡一区二区三| 色综合www| 欧美日本亚洲| 久操成人av| 日韩在线观看电影完整版高清免费| 免费视频一区三区| 欧美福利精品| 欧美女王vk| 视频一区二区三| 欧美特黄一级大片| 亚洲一区二区免费视频软件合集| 成人中文在线| 中文字幕人成一区| 欧美aⅴ99久久黑人专区| 国产专区在线视频| 国产精品第十页| www.av蜜桃| 国产精品亚洲综合久久| 亚洲熟妇av一区二区三区漫画| 国产日韩欧美三区| 男人亚洲天堂网| 青青草91视频| 亚洲精品在线视频播放| 国产精品99久久久久久久女警| 亚洲丝袜在线观看| 成人av在线一区二区三区| 久久午夜夜伦鲁鲁片| 久久久精品影视| 欧日韩不卡视频| 亚洲精品水蜜桃| 国产精品久久久久久99| 在线观看亚洲精品视频| 91久久精品无码一区二区| 欧美一级片免费看| 日韩在线观看视频一区二区三区| 亚洲精品综合久久中文字幕| 国产日韩精品在线看| 久久精品青青大伊人av| 大黄网站在线观看| 日韩免费av在线| 国产不卡精品| 蜜桃av噜噜一区二区三| 999久久久精品国产| 男人添女人荫蒂免费视频| 肉丝袜脚交视频一区二区| www激情五月| 26uuu精品一区二区在线观看| 一本色道久久88| 香蕉av福利精品导航| 99成人精品视频| 精品国产污网站| 岛国最新视频免费在线观看| 色综合天天狠天天透天天伊人| 玛雅亚洲电影| 999热视频| 欧美色图激情小说| h无码动漫在线观看| 日韩国产欧美在线视频| 中文字幕1区2区| 日本一区二区三区dvd视频在线 | 亚洲a区在线视频| 在线成人动漫av| 国产免费裸体视频| 蜜桃视频免费观看一区| 日本黄色免费观看| 中文字幕av免费专区久久| 永久免费看片在线播放| 6080国产精品一区二区| 九色视频网站在线观看| 欧美国产中文字幕| 日韩一级二级| 久久99久久99精品蜜柚传媒| 午夜精品毛片| 亚洲成人福利在线观看| 91亚洲男人天堂| 精品处破女学生| 91精品久久久久久久91蜜桃| 蜜桃免费在线| 亚州欧美日韩中文视频| 99视频有精品高清视频| 午夜老司机精品| 久久综合狠狠| 亚洲国产综合视频| 亚洲资源在线观看| 国产一区二区三区成人| 在线看欧美日韩| 午夜日韩成人影院| 精品在线观看一区二区| 黄色亚洲在线| 在线成人精品视频| 亚洲精品videosex极品| 99国产精品久久久久99打野战| 中文字幕少妇一区二区三区| 日本免费久久| 日本高清一区| 日韩av一区二| 337人体粉嫩噜噜噜| 在线精品观看国产| 国产精品一区在线看| 琪琪亚洲精品午夜在线| 在线日韩一区| 五月婷婷深爱五月| 中文字幕av一区二区三区| 中文字幕av在线免费观看| 在线看国产精品| 日韩电影免费观看高清完整版在线观看| 视频一区视频二区视频| 日本成人在线电影网| 成人黄色a级片| 欧美日韩黄色影视| 浪潮av一区| 91视频免费进入| 黑丝一区二区| 三叶草欧洲码在线| 一本一本久久a久久精品综合麻豆| 日本电影一区二区在线观看| 国产不卡一区二区在线播放| 欧美最新另类人妖| 第四色婷婷基地| 亚洲免费色视频| 人妻无码中文字幕| 欧美一性一乱一交一视频| 国产欧美久久一区二区三区| 99sesese| 一区二区三区在线观看欧美| 欧美一区二区三区成人片在线| 欧美亚洲国产视频小说| heyzo久久| 国产又粗又猛又爽又黄| 午夜国产精品一区| 你懂的视频在线观看| 国产欧美一区二区三区在线| 欧美阿v一级看视频| 在线免费看黄色片| 日韩欧美亚洲综合| 欧美性天天影视| 国产精品入口免费| 日韩经典中文字幕一区| 欧美一区免费观看| 亚洲高清免费观看高清完整版| 国产经典一区| 成人短视频在线观看免费| 91麻豆国产自产在线观看| 中文字幕视频二区| 欧美激情免费在线| 国内精品久久久久久久久电影网 | 深夜日韩欧美| 日韩a级在线观看| 欧美高清一级片在线观看| 国产99久一区二区三区a片 | 少妇高潮 亚洲精品| av在线亚洲色图| 另类小说第一页| 亚洲午夜免费电影| av中文字幕一区二区三区| 99理论电影网| 久久激情综合网|