正在学习中,将一些疑问记录下来:
queue中的消息,只要sub端订阅了,就能接收?那么本不该接收的人,也能接收,是否有安全隐患?
A:有身份认证的,如user:password之类
queue中的消息,如果要投递给多个接收端(比如A和B),那么,投递给A之后,那个消息在queue中会被删除吗?如果被删除了,就不能再投递给B了?
AMQP对message持久化的处理,是怎么规定的?哪些message,在什么情况下会被持久化?
持久化的消息是以什么形式存储的?之后又是怎样被重新加载的?
AMQP的server对内存要求是不是比较大,在读写量巨大的情况下?内存较小的机器该怎么办?
AMQP的三层中的最底层的传输层协议可以任意替换吗?怎么替换?
消息交换、文件传输、流传输、远程进程调用 在AMQP中是如何体现的?
AMQP传输的数据可以是加密的吗?如果可以,该怎样加密解密?
“一个连接支持多个会话” ?
怎样以root身份查看rabbitmq的配置,如vhost,user和password等信息?
A向rabbitmq做了sub,然后B向rabbitmq做pub,A通过rabbitmq收到消息。问题:A sub之后,能断开和rabbitmq的连接吗?如果断开了,rabbitmq能主动向A发起连接吗?
希望从rabbitmq接收消息的client是不是都要主动向rabbitmq发起连接并保持长连接?并且之后所有的接收消息都是通过这同样一个连接做的?
todo list:
AMQP协议:
http://blog.csdn.net/zhangxinrun/article/details/6546479
http://langyu.iteye.com/blog/759663
xxx对rabbitmq c++版的封装,build通过
上面build的client和rabbitmq-c的server通信
xxx的封装中,对连接池,线程池的处理
tesseract不读文件,改读图像文件的数据流
c++ client调用tesseract的库
===================================
AMQP是非对称的,客户端生产和消费消息,服务器存储和路由这些消息
路由关键字(Routing Key):一个消息头,交换器可以用这个消息头决定如何路由某条消息
持久存储(Durable):一种服务器资源,当服务器重启时,保存的消息数据不会丢失
虚拟主机(Virtual Host):一批交换器、消息队列和相关对象。虚拟主机是共享相同的身份认证和加密环境的独立服务器域。客户端应用程序在登录到服务器之后,可以选择一个虚拟主机。
主题:通常指发布消息;AMQP规范用一种或多种交换器来实现主题。
消息代理:等同于服务器。
===================================
- 存储转发(多个消息发送者,单个消息接收者)。
- 分布式事务(多个消息发送者,多个消息接收者)。
- 发布订阅(多个消息发送者,多个消息接收者)。
- 基于内容的路由(多个消息发送者,多个消息接收者)。
- 文件传输队列(多个消息发送者,多个消息接收者)。
- 点对点连接(单个消息发送者,单个消息接收者)。
===================================
rabbitmq的Log 在这里:/var/log/rabbitmq