希望一切都很好,您可以安全进入2020年。

Camel团队已经在忙于开发下一个Camel 3.1版本。 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一些热点。

我们所研究的方面之一也是在Camel路由的每个消息中发生的对象分配。 JVM本身擅长分配对象,并在不再使用对象时对其进行垃圾回收。 但是,如果可以确定路由中每个EIP不需要的对象数量,则仍有改进的余地。

所以今天我通过运行一条基本的骆驼路线找到了其中的几个

来自(timer:foo?period = 1”)

.to(“ log:foo”);

基本上每秒路由1000条消息。 并将每个消息打印到日志中。

对象分配中最大的罪魁祸首之一是反应式执行器的人为记录,该执行器以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 3.1 –即将推出更多骆驼核心优化相关推荐

  1. apache.camel_Apache Camel 3.1 –即将推出更多骆驼核心优化

    apache.camel 希望一切都很好,您可以安全进入2020年. Camel团队已经在忙于开发下一个Camel 3.1版本. 目标之一是继续优化骆驼核心,这一次我们花了一些时间来寻找路由引擎中的一 ...

  2. Apache Camel 2.18 –即将推出的功能的亮点

    骆驼骑士正在忙于即将发布的Apache Camel 2.18版本. 当我们动态更新发行说明时 ,这是一种快速查看即将发生的情况的方法. 我只是想在夏天在这里进行快速更新,到目前为止,我们已经完成了简短 ...

  3. apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第2部分)

    apache.camel 我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 ...

  4. apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)

    apache.camel 我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天,我想简要介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准 ...

  5. Apache Camel 3.1 –更多骆驼核心优化(第3部分)

    我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天,我想简短介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准备好构建和发布Camel ...

  6. Apache Camel 3.1 –更多骆驼核心优化(第2部分)

    我以前曾在博客中介绍我们在下一个Camel 3.1版本(第1部分)中所做的优化 . 今天,我想发布大约4周后的最新状态更新. 我们集中在三个方面优化骆驼核心: 不必要的对象分配 不必要的方法调用 提高 ...

  7. apache.camel_Apache Camel 2.18 –即将推出的功能的亮点

    apache.camel 骆驼骑士正在忙于即将发布的Apache Camel 2.18版本. 当我们动态更新发行说明时 ,这是一种快速查看即将发生的情况的方法. 我只是想在夏天在这里进行快速更新,到目 ...

  8. Apache Camel 2.14中的更多指标

    Apache Camel 2.14将于本月晚些时候发布. 由于正在解决某些Apache基础结构问题,因此存在一些问题. 这篇博客文章讨论的是我们添加到此版本中的新功能之一. 感谢Lauri Kimme ...

  9. apache camel_发掘Apache Camel的力量

    apache camel 最近几年,ESB软件越来越受欢迎. 如果大多数人通常知道什么是ESB,那么他们很少会清楚地了解这种体系结构的不同组件的确切作用. 例如,Apache ServiceMix由三 ...

最新文章

  1. 因果推断研究获2021诺贝尔经济学奖
  2. 如何监听Canvas上滚动条的出现或隐藏
  3. 大学计算机系一周上几节课,大学生晒课程表,一周45节课无双休,三个专业是满课重灾区...
  4. 【Python基础】用Python制作漂亮的流动桑基图
  5. linux中刻录iso到光盘
  6. Qt的json对象不具备类似指针、引用的行为导致的更新不成功问题解决
  7. java servlet深入理解_java 步步惊心 (web ) 深入理解servlet
  8. 织梦系统中一篇文章存放在数据库中的哪些表中
  9. mui 多文件上传至spring mvc 服务器
  10. 图像特征计算与表示——基于内容的图像检索
  11. android小项目数字拼图游戏_Java小项目之:拼图游戏
  12. 算法笔记_面试题_8.零钱兑换
  13. 云计算8项核心技术分析
  14. 记录数据库面试题及答案21~41
  15. linux查看网络响应时间,Linux netperf网络性能测试
  16. labelme安装及标签制作
  17. 金蝶ERP服务器系统中间件,中间件在ERP系统中的作用及发展趋势
  18. dns配置异常怎么修复_win10 dns异常怎么修复
  19. 基本流水线与记分牌算法和Tomasulo算法
  20. Android USB串口打印结账单小票

热门文章

  1. P2814-家谱【图论,并查集,std map库】
  2. codeforces1498 D. Bananas in a Microwave(背包+优化)
  3. 紧急整理了 20 道 Spring Boot 面试题,我经常拿来面试别人
  4. 揭秘阿里秒级百万TPS平台架构实现
  5. 获取一个 Byte 的各个 Bit 值
  6. avue中实现消息的实时展示
  7. sql server高级查询,看这篇文章就够了
  8. ssh(Spring+Spring mvc+hibernate)——DeptDaoImpl.java
  9. Mybatis+MySQL动态分页查询数据经典案例
  10. ssh根据姓名查询的时候报错java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!