`
江南白衣
  • 浏览: 549858 次
  • 来自: 广州
社区版块
存档分类
最新评论

互联网血统的MQ系统

 
阅读更多
0.引言:
  企业应用血统的MQ,无论是JMS还是AMQP的实现,都比较复杂而Scalability又马马虎虎. 打算找些真正有互联网血统的那些简单,简陋但务实的MQ系统来看下, 计划有Amazon的SQS,Linkedin贡献出来的Apache Karfka , 偏重于Log收集的Apache Flume 和 Facebook Scribe,或是借助一些NOSQL系统来简单搭建的方法。


1.Amazon SQS:
   Amazon SQS(Simple Queue Service)是亚马逊云上的MQ服务.
   核心API很简单,Sender方面的SendMessage和Receiver方面的ReceiveMessage,DeleteMessage,都是Restful的接口.
   Sender没什么好说的。Receiver方面则会:
  1. 先主动用ReceiveMessage轮询消息(JMS里的Pull模式,Message Driven Bean那种Push模式是没有的),一次接收到若干条消息(受MaxNumberOfMessages参数限制,默认为1)。

  2. 处理完每条消息后,必须显式调用DeleteMessage在Server端删除消息(也就是JMS里的CLIENT_ACKNOWLEDGE模式,AUTO_ACKNOWLEDGE自动删除模式是没有的)。为了性能还有个BatchDeleteMessage的API,但就要冒一点消息被重复处理的风险了。

  3. 为了避免消息在被处理完Delete掉之前,被其他接收者接收,会有一段保护时间(Queue有个VisibilityTimeout属性, 默认30秒),过期后消息还没被Delete掉,就会让其他接收者接手处理。还有个ChangeMessageVisibility的API可以延长此消息的保护期。

  简单,实用的保证消息被at lease once的处理,同时尽可能的避免被重复处理,是这些互联网血统MQ的设计特征。但如果消息真的被重复发送,就还是只能靠客户端那边的自我保护机制,消息属性里会提供SentTimestamp,ReceiveCount,FirstReceiveTimestamp的信息做参考。

  另外SQS有个好玩的Pattern,你可以用GetQueueAttributes获得Queue中待处理的消息数,如果过多了,可以临时启动多几个Receiver的EC2实例来处理,没什么剩了,就又shutdown回去,很经济的云计算。

其他MQ系统待续......
分享到:
评论
4 楼 lost_alien 2012-03-17  
江南白衣 写道
lost_alien 写道
呵呵支持,白大侠最近很忙吧?博客和ss4都没怎么动。


动得天崩地裂了为毛还说没动呢?


哦哈哈,看到了,搬家到github了,辛苦了!
3 楼 江南白衣 2012-03-16  
lost_alien 写道
呵呵支持,白大侠最近很忙吧?博客和ss4都没怎么动。


动得天崩地裂了为毛还说没动呢?
2 楼 lost_alien 2012-03-16  
呵呵支持,白大侠最近很忙吧?博客和ss4都没怎么动。
1 楼 wf_chn 2012-02-16  
沙发  

相关推荐

    新血统游戏界面

    《新血统游戏界面》是基于Unity3D引擎制作的一款游戏界面设计,旨在为开发者提供一个学习和研究GUISkin的实例。Unity3D作为一款强大的跨平台游戏开发工具,其内置的GUI系统允许开发者创建丰富的用户界面,而GUISkin...

    《暗黑血统3》游戏美术参考图片材料集合.zip

    《暗黑血统3》是一款深受玩家喜爱的动作冒险游戏,其独特的艺术风格和精心设计的视觉元素是游戏的一大亮点。这个名为"《暗黑血统3》游戏美术参考图片材料集合.zip"的压缩包文件,显然是为了展示和分享游戏开发过程中...

    互联网杂记(五).docx

    本文主要探讨了互联网行业的几个关键点,包括合伙创业、风险投资、角色定位以及商业性和网站的血统论。 1. **合伙创业**:作者强调了在互联网领域合伙做事时应注重团队合作和互相理解。合伙人之间应多看对方的优点...

    血统游戏界面

    "血统游戏界面"项目旨在提供一个示例,帮助开发者深入理解如何利用GUISkin来创建和自定义游戏用户界面。在这个项目中,我们可以看到一系列的文件,可能包括GUISkin配置文件、预设UI元素以及相关的脚本,这些都封装在...

    SUN Solaris10 系统管理指南:基本管理

    【标签】"sun solaris10 unix 系统管理"明确了教材的焦点,"sun"代表SUN公司,"solaris10"是指特定的操作系统版本,"unix"强调了Solaris的Unix血统,而"系统管理"则揭示了教程的主题,即如何有效管理这个Unix-like...

    试析华数互联网电视发展模式(一).pdf

    华数是拥有广电和电信双重血统的运营商,业务范围包括固定电话、移动电话、WiFi、WiMax、宽带业务、有线电视、数字电视、移动电视等。华数副总裁赵志峰透露,根据发展的重心不同,华数的电视业务分成了三个梯队,...

    《暗黑血统1》物品收集.doc

    《暗黑血统1》物品收集.doc

    Rosy:基于血统的 rom-开源

    【标题】"Rosy:基于血统的rom-开源"是指一个名为Rosy的自定义Android ROM项目,它建立在LineageOS的基础上。LineageOS是Android操作系统的一个流行开源版本,由原来的CyanogenMod发展而来,旨在为用户提供更多的...

    初中语文文摘历史骆家辉我为华人血统骄傲

    初中语文文摘历史骆家辉我为华人血统骄傲

    数据结构——家族管理系统

    4. **祖先路径查询**:寻找一个成员的所有祖先,了解其直系血统。 5. **鼻祖查询**:确定一个家族的始祖,即家族树的根节点。 6. **家族成员查询**:包括父母、兄弟姐妹、堂兄弟姐妹、子女和子孙的信息查询。 7. **...

    Ashampoo WinOptimizer 19(阿香婆系统优化软件)官方中文版V19.00.12 | winoptimizer怎么样

    Ashampoo WinOptimizer 19 是拥有德国纯正血统的军刀级阿香婆系统优化软件,能帮助大家清理、隐私保护、服务禁用、空间回收、保护和最大程度优化用户的计算机操作系统,威航软件园提供的最新版本的Ashampoo ...

    LineageOSkenzo:适用于 redmi note 3(kenzo) 的纯血统操作系统-开源

    使用 https://github.com/lineageos4microg/docker-lineage-cicd 制作请记住,我只是按照指南进行了相应操作。 我不是 ROM 开发人员或任何东西。 因此,我无法修复您可能面临的任何错误。 我会尝试更新ROM,至少每3...

    梧州市原种猪场新型智能管理系统集成的应用.pdf

    【梧州市原种猪场新型智能管理系统集成的应用】 ...种猪品种遗传性状稳定,谱系完整,血统丰富,具有鲜明的品系特征。这样的智能化管理系统不仅提高了生产效率,还降低了疾病风险,为其他养猪业提供了成功的参考案例。

    论文研究-文件血统与角色亲和度的网络文件安全机制.pdf

    分析了现有企业内部办公网络系统中导致文件泄密的根本原因——孤立地看待文件之间的关联关系,忽视用户之间的亲疏关系。提出用文件血统来表示文件之间的安全关联关系,用角色亲和度来衡量角色(用户)间的亲疏关系,用...

    descent-app:下降路径计算器的顶部。 让我们计算你的血统!

    :airplane: 最高血统计算器计算你的下降 在我的空闲时间,我经常使用 X Plane 11 模拟器飞行,最近我想创建下降顶部 (TOD) 计算器,来计算下降路径。 TOD 是飞机应该开始下降以接近或任何其他目标高度的点。 我创建...

    Ashampoo WinOptimizer 19阿香婆系统优化软件.rar

    Ashampoo WinOptimizer 19 是拥有德国纯正血统的军刀级阿香婆系统优化软件,能帮助大家清理、隐私保护、服务禁用、空间回收、保护和最大程度优化用户的计算机操作系统 阿香婆系统优化软件都能面面俱到的帮助大家轻松...

    加拿大数据科学家对可信人工智能系统的开发实践.docx

    ### 加拿大数据科学家对可信人工智能系统的开发实践 #### 摘要 随着人工智能(AI)技术的迅猛发展,其在社会各个领域的应用日益广泛。AI系统不仅能够提高决策效率,还能为用户提供更加个性化的服务。然而,AI系统...

    linux操作系统和windows操作系统的区别.pdf

    2. **Unix 血统与兼容性**: Linux 基于 Unix 系统的设计理念,继承了 Unix 的诸多优点,如稳定性、可移植性和安全性。这使得Unix上的应用程序可以方便地在Linux上运行。而Windows则遵循不同的设计哲学,虽然提供了...

    《猪场管理系统高级版》适用于中小型猪场企业的软件。主要包基础数据、种猪管理、生猪管理、智能预警、饲料管理等功能.zip

    系统能够跟踪种猪的血统、健康状况、繁殖记录等,帮助管理者优化种群结构,提高种猪的生产性能。通过数据分析,可以预测种猪的最佳配种时间,减少无效繁殖,提高仔猪出生率。 生猪管理功能对育肥猪的生长阶段进行...

Global site tag (gtag.js) - Google Analytics