社区
工具平台和程序库
帖子详情
ACE有跨进程/跨机器的Message Queue消息队列吗
vcbear
2005-09-14 06:16:08
如果没有,打算用SV_Message_Queue+共享内存实现一个跨进程的。
用Socket+共享内存实现跨机器的...
如果有,请告诉我 ,省事多了。
除了跨机/进程之外,对Queue的要求如下:
1:可以容纳比较大的消息体,至少几百K吧
2:消息可以有超时控制,超时的消息丢掉
3:可以通过ID指定dequeue某种类型的消息
4:性能高,每秒enqueue/dequeue不低于1000次
5:稳定....
...全文
457
6
打赏
收藏
ACE有跨进程/跨机器的Message Queue消息队列吗
如果没有,打算用SV_Message_Queue+共享内存实现一个跨进程的。 用Socket+共享内存实现跨机器的... 如果有,请告诉我 ,省事多了。 除了跨机/进程之外,对Queue的要求如下: 1:可以容纳比较大的消息体,至少几百K吧 2:消息可以有超时控制,超时的消息丢掉 3:可以通过ID指定dequeue某种类型的消息 4:性能高,每秒enqueue/dequeue不低于1000次 5:稳定....
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cber
2005-09-20
打赏
举报
回复
为什么不直接用C++封装一下tuxedo的queue呢(我没有用过这个东东,不过我想它应该会提供C/C++的接口吧)?
可怜的我现在是自己写了一个Priority Queue在用,至于跨进程和跨机器,则是用了一个单独的Windows Service在做
xyun
2005-09-20
打赏
举报
回复
回楼主
ACE应该没有,我是自己实现了一个框架OPI,能覆盖你所有的要求
使用 OS 的 IPC message + shared memory, 性能极高,你提出的容量/速度指标上可以增加2-3个数量级, 透明地使用 socket 支持远程IPC,我用来替代RPC——实在是懒得用繁琐无比,又不愿意受Java / .Net约束,可惜暂时无法公开这个框架。
一般要求能作到:
(1)定义自己的元数据格式(metadata),用来marshall
(2)定义自己的消息格式,尽量设计成XML格式,然后实现binary
(3)使用IPC message 传递消息句柄,确切地讲是capability
(4)使用IPC shared memory 传递消息内容
其实不要求完整实现(1)(2)的话,你完全可以自己写一个针对简单应用任务的MQ,不会很复杂, 但会有很高的销率。
ACE也有改进和提高的空间
vcbear
2005-09-15
打赏
举报
回复
用过tuxedo的话,就大概知道我想要什么样的queue了。ACE_Task的队列不是很符合要求。
darkstar21cn
2005-09-15
打赏
举报
回复
???
ACE_Task<>不是有个队列吗?它不就是一个线程管理类吗?表知道你想要什么。
8过它不能满足你的第3个条件。
孙亖
2005-09-15
打赏
举报
回复
gz
Jagen在路上
2005-09-14
打赏
举报
回复
没有发现有这个功能,所有的Message Queue都没有提供分配器,所以很难做到。
analysis of
ACE
_Task-putq with timeout=0 when
queue
is full on Linux platform.pdf
我们将分析涉及的多个层面,包括
ACE
库本身、glibc库以及Linux内核源码,具体涉及的函数有`
ACE
_Task::putq`、`
ACE
_
Message
_
Queue
::en
queue
_tail`、`pthread_cond_wait`、`sys_futex`和`sched_yield`等。 #### 1.
ACE
...
ACE
-
Message
-Block.rar_
ACE
`
ACE
_
Message
_Block`是
ACE
消息队列
(如`
ACE
_
Message
_
Queue
`)的基础,它们一起提供了异步处理和并发通信的能力。
消息队列
可以接收来自不同线程或
进程
的消息,根据消息的优先级进行调度,确保系统的高并发性。 6. *...
基于
ACE
的网络聊天程序
消息队列
在
ACE
中通常通过`
ACE
_
Message
_
Queue
`类来实现,它提供了一种有序存储和传递消息的机制。发送者将消息放入队列,而接收者可以从队列中取出并处理消息,这样可以确保数据传输的顺序性和完整性,同时避免了直接...
ACE
的中文文档(讲解
ACE
库)
7. **对象间通信**:
ACE
提供了一种基于消息的通信机制,如
ACE
_
Message
_
Queue
,允许对象间异步通信。 8. **网络编程接口**:
ACE
_Win32和
ACE
_POSIX下的网络编程接口,包括TCP/IP、UDP/IP以及其他传输协议的支持。 9....
工具平台和程序库
24,852
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章