前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >artemis小结

artemis小结

原创
作者头像
code4it
修改2020-02-24 10:07:00
2450
修改2020-02-24 10:07:00
举报
文章被收录于专栏:码匠的流水账码匠的流水账

本文主要小结一下artemis的一些知识点

artemis知识点

消息模型

它实现了mqtt、aqmp、stomp协议,jms的api,还提供了rest的api;其模型跟aqmp很像,用address、queue来抽象,其Routing Types有Anycast(point-to-point)、Multicast(publish-subscribe)两种类型

client、server端的flow control

通过credit以及windowSize来控制

client、server端的rebalance

client端有ConnectionLoadBalancingPolicy,server端有MessageLoadBalancingType、Redistributor

client、server端的interceptor

内置了client、server的interceptor,方便拦截添加边缘逻辑

投递模式:at-most-once、at-least-once、exactly-once

exactly-once需要事务支持,不过可以通过服务端去重

消费模型:推、拉、还是推拉结合、ack模式

推拉结合的,同步receive方式就是拉的方式,消费者主动去消息服务器取消息,异步的listener方式为推的方式

特性消息:延迟消息、优先级消息、持久消息、TTL消息、死信消息

延时消息:postOffice添加消息的时候(持久化消息的话先持久化)会检查HDR_SCHEDULED_DELIVERY_TIME属性,添加到scheduledReferences,然后进行scheduleDelivery,时间到了就从scheduledReferences移除添加到真正的队列中;server重启的话,会从store中恢复scheduledReferences队列

优先级消息:通过PriorityLinkedList,消息分级存储,取的时候按优先级合并在一起

TTL消息:有个ExpiryScanner来定时检查消息是否过期,过期的话将消息移动到expiry address

cluster、federation

cluster适用于内网,federation适用于公网进行消息复制

ha及failover及发送重试

ha支持replication、shared-store、live-only;failover的时候会对client的session进行转移,让client端保持透明

graceful shutdown

在shutdown的时候做各种资源销毁

logger日志

jboss-logmanager,还支持audit log

rest api

官方还提供了rest api,像kafka是Confluent提供了REST Proxy

metrics支持

内置支持metrics,属于硬编码的方式,提前设计好

docker支持

提供基于centos及ubuntu的docker文件

test支持

有丰富的各种测试,比如junit(提供了专门的TestRule)、smoke、stress、timing等

小结

artemis算是系出名门,代码里头很有企业级产品的味道,还值得深入研究研究

doc

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • artemis知识点
    • 消息模型
      • client、server端的flow control
        • client、server端的rebalance
          • client、server端的interceptor
            • 投递模式:at-most-once、at-least-once、exactly-once
              • 消费模型:推、拉、还是推拉结合、ack模式
                • 特性消息:延迟消息、优先级消息、持久消息、TTL消息、死信消息
                  • cluster、federation
                    • ha及failover及发送重试
                      • graceful shutdown
                        • logger日志
                          • rest api
                            • metrics支持
                              • docker支持
                                • test支持
                                • 小结
                                • doc
                                相关产品与服务
                                容器镜像服务
                                容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档