apache.camel_Apache Camel 3.1 –即将推出更多骆驼核心优化
apache.camel
希望一切都很好,您可以安全進入2020年。
Camel團隊已經在忙于開發下一個Camel 3.1版本。 目標之一是繼續優化駱駝核心,這一次我們花了一些時間來尋找路由引擎中的一些熱點。
我們所研究的方面之一也是在Camel路由的每個消息中發生的對象分配。 JVM本身擅長分配對象,并在不再使用對象時對其進行垃圾回收。 但是,如果您可以識別路由中每個EIP不必要的對象,則還有改進的余地。
因此,今天我通過運行一條基本的駱駝路線找到了其中幾個
來自(timer:foo?period = 1“)
.to(“ log:foo”);
基本上每秒路由1000條消息。 并將每個消息打印到日志中。
對象分配中最大的罪魁禍首之一是React式執行器的人為記錄,該執行器以TRACE級別記錄。 因此,通過避免這種情況,我們可以減少大量分配,并減少用于記錄消息的字符串構建。
我們優化的其他方面是EIP(最常用的EIP),它現在在啟動時更加智能,可以避免創建不必要的緩存。 這與我們現在懶惰地在Camel中創建很少使用的某些功能的區域一起使用,否則這些功能也會設置和創建一些緩存。
我們還確定了Camel 3工作的一部分,因此LRUCache并未早于預熱,這意味著Camel的啟動會比其他方式慢一些。 因此,通過將此預熱移至較早的階段,Camel可以通過在啟動時執行并發工作直到LRUCache被預熱(其咖啡因緩存需要此操作)來更快地啟動。
還對日志組件進行了優化,以減少其構建日志消息的對象分配。
因此,總的來說,這是美好的一天,如果我們將Camel 3.0.0與3.1.0-SNAPSHOT的啟動與上述Camel路線進行比較,那么每秒的對象分配將大大減少(這要歸功于Profiler的YourKit)。
該配置文件指出,在Camel 3.0.0中,Camel每秒大約可大致生成22.000個對象(路由1000條消息)。 在Camel 3.1中,每秒的對象減少到了約6.000。 這太棒了,幾乎減少了4倍。
翻譯自: https://www.javacodegeeks.com/2020/01/apache-camel-3-1-more-camel-core-optimizations-coming.html
apache.camel
總結
以上是生活随笔為你收集整理的apache.camel_Apache Camel 3.1 –即将推出更多骆驼核心优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红米3s开机充电没反应
- 下一篇: maven配置junit5_JUnit