消息队列在Linux中是否过时?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (124)

我最近在Linux上一直在玩消息队列,它们看起来对我的应用程序来说非常完美,但是在阅读了Unix编程艺术之后,我不确定它们是否真的是一个好选择:

http://www.faqs.org/docs/artu/ch07s02.html#id2922148

系统V IPC的高层消息传递层已经基本没有使用。由共享内存和信号量组成的较低层在需要在同一机器上运行的进程之间进行互斥锁定和一些全局数据共享的情况下仍然具有重要的应用。这些System V共享内存设施演变成POSIX共享内存API,在Linux,BSD,MacOS X和Windows下支持,但不是经典的MacOS。

http://www.faqs.org/docs/artu/ch07s03.html#id2923376

System V IPC工具存在于Linux和其他现代Unix中。但是,由于它们是传统功能,因此不会经常使用。到2003年中期,Linux版本仍然存在漏洞。似乎没有人关心足以解决这些问题。

在更新的Linux版本中,System V消息队列仍然存在问题?我不确定作者是否意味着POSIX消息队列应该正常??

提问于
用户回答回答于

我非常喜欢消息队列,并认为它们可以说是unix世界中利用率最低的IPC。

我的一些想法:

  • 其中一些只是时尚。旧事物再次变得新。在消息队列中添加一个闪亮的父亲,他们可能是明年的最新和最热门的事情。使用单独的进程查看Google的Chrome,而不是使用其选项卡的线程。突然间,人们感到非常兴奋,当一个标签被锁定时,它并没有降低整个浏览器。
  • 共享内存有一些人为的光环。如果不是将最后一个周期从机器中挤出来,并且MQ的效率稍低,那么您就不是“真正的”程序员。对于许多应用程序来说,即使不是绝大多数,但它有时也是毫无意义的,但有时很难在思维模式中被打破。
  • MQ确实不适用于无限数据的应用程序。面向流的机制,比如管道或套接字,更容易使用。
  • System V变种真的失宠了。一般来说,尽可能使用POSIX版本的IPC。
用户回答回答于

是的,我认为消息队列适用于某些应用程序。POSIX消息队列提供了一个更好的接口,特别是,你可以给出队列名称而不是ID,这对于故障诊断非常有用。

可能回答问题的人

  • 腾讯云技术服务团队

    腾讯云 · 技术服务团队 (已认证)

    20 粉丝0 提问3 回答
  • 宝哥@devops运维

    腾讯 · 高级云计算工程师 (已认证)

    62 粉丝0 提问0 回答
  • elliswu

    腾讯计算机系统有限公司 · 高级工程师 (已认证)

    4 粉丝0 提问0 回答
  • 腾讯云中间件团队

    35 粉丝0 提问0 回答
  • 小翔

    1 粉丝0 提问1 回答
  • 1076485026

    0 粉丝0 提问0 回答

扫码关注云+社区

领取腾讯云代金券