精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

色综合婷婷久久| 久久午夜激情| 亚洲第一av网站| 人妻内射一区二区在线视频| 国产黄在线观看| 蜜桃精品视频在线| 欧美国产一区二区三区| 星空大象在线观看免费播放| 四虎4545www精品视频| 亚洲欧美另类久久久精品2019 | 九九热这里有精品| 怡红院av一区二区三区| 蜜桃臀一区二区三区| 91在线精品入口| 男人天堂欧美日韩| 欧美精品情趣视频| 人人妻人人澡人人爽| 最新国产一区二区| 欧美日产国产精品| 少妇高清精品毛片在线视频| 黄页在线观看免费| 国产精品久久久久影院| 欧美男人的天堂| 亚洲精品综合网| 麻豆国产欧美日韩综合精品二区| 91精品国产亚洲| 欧美成人精品欧美一级| 欧美综合在线视频观看| 日韩精品中文字幕久久臀| 能看毛片的网站| 美女久久久久久| 日本精品视频一区二区| 日韩精品免费一区| 欧美性videos| 国产日韩精品一区二区三区| 好看的日韩精品| а√天堂资源在线| 国产在线播放一区三区四| 国产精品第一页在线| 国内免费精品视频| 国产日韩一区二区三区在线播放| 色综合色综合网色综合| 色欲人妻综合网| 久久综合国产| 色悠悠国产精品| 国产激情av在线| jlzzjlzz亚洲女人| 在线观看亚洲区| 日韩女同一区二区三区 | av日韩电影| 欧美日韩免费在线观看| 丰满的少妇愉情hd高清果冻传媒| 久热国产在线| 成人免费在线观看入口| 樱花www成人免费视频| 伊人免费在线| 一区精品在线播放| 亚洲黄色网址在线观看| 麻豆传媒在线观看| 亚洲乱码国产乱码精品精可以看 | av免费在线网站| 亚洲乱码精品一二三四区日韩在线| 免费看啪啪网站| 50度灰在线| 亚洲午夜免费视频| 国产乱子伦农村叉叉叉| 日本不卡一二三| 在线精品视频免费播放| 久久久久久蜜桃一区二区| 日韩美香港a一级毛片| 欧美精品xxxxbbbb| 4438x全国最大成人| 北条麻妃一区二区三区在线| 日韩不卡中文字幕| 人妻一区二区视频| 国产精品久久久久久久久久10秀| 欧美成人免费在线视频| 在线看成人av| 男女性色大片免费观看一区二区| 成人福利在线观看| 刘亦菲久久免费一区二区| 91欧美一区二区| 亚洲欧洲久久| ririsao久久精品一区| 色综合久久久网| 亚洲一级片av| 牛牛影视久久网| 中文字幕欧美日韩在线| 国产一级中文字幕| 日韩高清一区在线| 91亚洲精品久久久| 日韩欧美亚洲系列| 国产精品家庭影院| 国产av麻豆mag剧集| 国产精品99精品一区二区三区∴| 日韩三级电影网址| a级大片在线观看| 欧美韩国日本在线观看| 97高清免费视频| 97国产成人无码精品久久久| 99精品久久免费看蜜臀剧情介绍| 亚洲免费精品视频| 久久久男人天堂| 4438x亚洲最大成人网| 国产精品无码毛片| 91精品国产乱码久久久久久| 97视频免费看| 国产免费高清视频| 国产日韩欧美高清在线| 久久久久99精品成人片| www.久久热| 亚洲香蕉成视频在线观看 | 一区三区视频| 成人免费直播live| 你懂得网站在线| 亚洲成人中文在线| 精品国产乱码久久久久久1区二区| 午夜精品福利影院| 欧美肥婆姓交大片| 中文天堂在线资源| 国产午夜亚洲精品午夜鲁丝片| 欧美一级视频在线播放| 国产成人免费视频网站视频社区| 亚洲视频999| www.av麻豆| 成人免费视频播放| 欧美性潮喷xxxxx免费视频看| 日韩一区二区三区四区五区| 国产一区二区黑人欧美xxxx| 欧美日韩一二三四区| 成人福利视频网站| www.av91| av成人资源网| 欧美国产日韩精品| 国产草草影院ccyycom| 中文字幕一区二区三区四区不卡| 男女男精品视频站| 国产免费播放一区二区| 青青青国产精品一区二区| 熟妇高潮一区二区三区| 亚洲va国产天堂va久久en| 久久无码专区国产精品s| 在线中文字幕亚洲| 亚洲qvod图片区电影| 国产精品va在线观看视色| 欧美日韩极品在线观看一区| 久久久国产一级片| 美女视频黄频大全不卡视频在线播放 | youjizz在线视频| www精品美女久久久tv| 91精品91久久久中77777老牛| 日韩高清成人在线| 欧美中文字幕在线| 欧美美乳在线| 欧美色图在线观看| 情侣偷拍对白清晰饥渴难耐| 激情综合色综合久久综合| 日本精品免费视频| 97久久超碰| 97视频com| 韩国中文字幕2020精品| 欧美天堂亚洲电影院在线播放| 日本综合在线观看| 精彩视频一区二区三区| 国产欧美久久久久| 校园春色另类视频| 国产精品旅馆在线| av超碰免费在线| 亚洲精品美女久久| 日韩不卡高清视频| 亚洲视频你懂的| 精品国产一区在线| 久久资源在线| 老汉色影院首页| 麻豆国产欧美一区二区三区r| 欧美一区二区三区……| www.黄在线观看| 日韩美女视频在线| 国内精品福利视频| 亚洲欧洲日本在线| 日本美女视频网站| 日韩福利电影在线观看| 中国老女人av| 综合干狼人综合首页| 国产精品视频一区二区高潮| 婷婷丁香在线| 国产小视频国产精品| 国产色视频在线| 欧美性少妇18aaaa视频| 久热这里有精品| 久久久精品一品道一区| 黄色a级三级三级三级| 亚洲高清免费| 在线视频不卡一区二区| 免费福利视频一区| 91人人爽人人爽人人精88v| 国产乱码精品一区二三赶尸艳谈| 最近2019年好看中文字幕视频| 俄罗斯嫩小性bbwbbw| 欧美艳星brazzers| 日本一级黄色录像| 亚洲视频你懂的| 中文字幕第4页| 成人视屏免费看| 久久人人爽av| 欧美一级网站| 欧美一区二区视频在线播放| 精品美女视频| 久久久综合香蕉尹人综合网| www.欧美视频| 国产欧美一区二区白浆黑人| 91av亚洲| 国产91|九色| 成人影院在线播放| 久久天天躁夜夜躁狠狠躁2022| 久久av少妇| 日韩久久精品成人| 免费观看黄色av| 欧美一级片在线看| 中文字幕欧美人妻精品| 欧美午夜美女看片| 久久久久亚洲AV| 亚洲免费av观看| 国产一区在线观看免费| 久久综合狠狠综合久久综合88| 一二三区视频在线观看| 韩国视频一区二区| 中文字幕久久av| 青青草成人在线观看| 欧美日韩中文在线视频| 国产一区91| 精品国产一二三四区| 亚洲第一伊人| 黄色成人在线看| 国户精品久久久久久久久久久不卡| 一区二区三区四区欧美| 欧美一区电影| 亚洲日本精品国产第一区| 精品久久久久久久| 日韩精品不卡| 成人羞羞网站入口| 日韩av在线电影观看| 国产99久久精品一区二区300| 久久亚洲精品欧美| 亚洲尤物av| 五月天亚洲综合小说网| 日韩av大片| 一级黄色片播放| 国内激情久久| 国产午夜大地久久| 久久久999| 免费看污黄网站| 麻豆中文一区二区| 中文字幕12页| 国产精品香蕉一区二区三区| 日本在线视频播放| 成人美女视频在线看| 波多野结衣视频播放| 91欧美激情一区二区三区成人| 蜜桃传媒一区二区亚洲av| 国产性色一区二区| 欧美88888| 一区二区日韩电影| 欧美三级午夜理伦| 在线观看亚洲一区| 国产又粗又猛又爽又黄91| 日韩一区二区三区电影| 刘亦菲久久免费一区二区| 亚洲欧美国产另类| 瑟瑟视频在线| 久久久久国产精品免费网站| 筱崎爱全乳无删减在线观看| 国产精品第1页| 3d动漫一区二区三区在线观看| 91丨九色丨国产| 亚洲国产国产| 亚洲视频在线观看日本a| 欧美精品一区二区三区久久久竹菊| 国产特级淫片高清视频| 青青国产91久久久久久| 国产又粗又猛又爽又黄| 久久综合资源网| 婷婷激情四射网| 欧美日韩亚洲一区二区| 伊人色综合久久久| 亚洲激情在线视频| 免费在线看黄色| 欧美一二三视频| 国产日韩在线观看视频| 蜜桃导航-精品导航| 91成人观看| 可以免费观看av毛片| 国产成人在线看| 久久日免费视频| 亚洲成av人片一区二区梦乃| 亚洲视频在线观看一区二区| 精品福利在线导航| 精品国产白色丝袜高跟鞋| 91av在线不卡| 天堂va在线高清一区| 日韩福利影院| 亚洲激情不卡| 中文字幕一区二区三区四| 国产人成亚洲第一网站在线播放 | 7777奇米亚洲综合久久| 国产精品一在线观看| 人妻激情另类乱人伦人妻| 日本大胆欧美人术艺术动态| bl动漫在线观看| 亚洲综合色区另类av| 一级黄色片在线看| 亚洲美女视频网| 成人国产电影在线观看| 亚洲伊人久久综合| 日韩一级毛片| 国产无套内射久久久国产| 成人久久18免费网站麻豆| 夫妻性生活毛片| 欧美日韩一区二区三区在线 | 久久在线免费观看视频| www.久久.com| 欧美一区二区三区成人久久片| 影音先锋中文字幕一区| 真实乱偷全部视频| 日韩久久一区二区| 特级西西444www高清大视频| 亚洲精品永久免费| www在线观看黄色| 成人精品水蜜桃| 欧美三区不卡| 伦伦影院午夜理论片| 亚洲三级免费观看| 国产精品爽爽久久久久久| 在线视频免费一区二区| 精品日本视频| 亚洲国产精品一区二区第四页av| 丝瓜av网站精品一区二区| 国产精品无码永久免费不卡| 精品久久久久久久久久久久| 香蕉视频免费看| 日本精品免费观看| 久久99高清| 国产精品乱码久久久久| 亚洲国产激情av| 国产精品高潮呻吟久久久| 日韩一区二区福利| 国产精品一区二区三区av| 天堂av免费看| 国产精品一区二区久久精品爱涩 | 午夜精品一区| 国产精品丝袜高跟| 国产国产精品| 中文字幕久久久久久久| 亚洲国产综合视频在线观看| 日本精品一二区| 欧美尤物巨大精品爽| 欧美日本成人| 奇米视频7777| 一区二区三区在线免费观看 | www.国产一区| 日韩在线亚洲| 国产在线青青草| 国产精品久久久99| 成人h动漫精品一区二区无码| 欧美精品18videosex性欧美| 日韩av系列| 蜜臀av免费观看| 一级精品视频在线观看宜春院 | 99re热这里只有精品视频| 狠狠人妻久久久久久综合| 日韩最新中文字幕电影免费看| 亚洲成人偷拍| 茄子视频成人免费观看| 国产精品成人免费| 成人午夜视频一区二区播放| 日韩美女视频免费在线观看| 亚洲成人国产| 蜜桃传媒一区二区亚洲av| 在线不卡免费av| 麻豆蜜桃在线观看| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品一卡二卡| 日本一区二区免费电影| www.欧美精品一二三区| 红杏成人性视频免费看| 午夜视频你懂的| 午夜影视日本亚洲欧洲精品| 成人欧美一区| 国产一区二区高清不卡| 日本成人在线不卡视频| 国产乱国产乱老熟300| 亚洲天堂av在线免费观看| 日韩成人久久| www.色就是色| 午夜精品在线看| 黄色免费在线看| 欧美18视频| 从欧美一区二区三区| 91在线观看喷潮| 国产精品xxx视频|