• “管道和过滤器”模式中管道的种类


         管道和过滤器模式,与职责链模式相比。一者是适用范围不一样,管道和过滤器模式是在架构层次的模式,它的元素是各个子系统或者程序。而职责链体现了组件间的调用关系。另外一个显著区别是,职责链模式中,一个对象指针的函数调用,就将指令转移到另外一个组件了。而“管道和过滤器”模式存在一个可以用多种技术实现的管道。
        管道
            严格的先进先出,
        消息队列
            非严格先进先出,可以选择性地读取想要的消息
        文件
            不提供同步机制,需要应用程序考虑
        共享内存
            不提供同步机制,需要应用程序考虑
        SOCKET
            适用于跨主机计算
     
        如果单主机情况,消息队列使用的频率较高。由于存在需要传递较大数据体的情况,可以将消息队列和共享内存封装为个性化的“消息队列”。比如实际要传递的数据放在共享内存,而将消息体中记录实际数据在共享内存中的位置。这种方式结合了消息队列的灵活性和共享内存的较高访问速度。
        管道是消息队列的有力竞争对手。性能方面,与消息队列在一个数量级上。但在使用方面,消息队列更加灵活。
        如果对于管道中的数据的正确性和完整性有特别严格的要求,或者要将数据提供给第三方使用,那么通过文件落地管道数据,是更安全的选择。
  • 相关阅读:
    如何通过关键词匹配统计其出现的频率
    好玩的SQL
    如何用Dummy实例执行数据库的还原和恢复
    如何查找特定目录下最大的文件及文件夹
    《Administrator's Guide》之Managing Memory
    Oracle如何实现从特定组合中随机读取值
    如何用分析函数找出EMP表中每个部门工资最高的员工
    Oracle之DBMS_RANDOM包详解
    RAC碎碎念
    如何利用Direct NFS克隆数据库
  • 原文地址:https://www.cnblogs.com/yubing/p/3780869.html
Copyright © 2020-2023  润新知