RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。
按照JMS规范,为了保证可靠性,所有的消息都应该是发送到broker,然后交由broker来投递的。也即是说其实JMS是不建议或不支持传输文件的。
对于比较小的文件,简单的处理方式是先读取所有的文件成byte[],然后使用ByteMessage,把文件数据发送到broker,像正常的message一样处理。对于大文件,例如1GB以上的文件,这么搞直接把client或是broker给oom掉了。
这种方式仅仅适用于小文件的传输。特别是如果broker端使用数据库作为存储,message序列化以后存放于blob字段,文件传输频繁或是稍微有点大,写入效率极低。
直接传输文件
为了解决传输大文件的问题,ActiveMQ在jms规范之外引入了jms streams的概念。PTP模式下,连到同一个destination的两端,可以通过broker中转来传输大文件。
发送端使用connectioncreateOutputStream打开一个输出流,往流里写文件。
OutputStream out =connectioncreateOutputStream(destination);
接收端则简单的使用connectioncreateInputStream拿到一个输入流,从中读取文件数据即可。
InputStream in = connectioncreateInputStream(destination)
你好,对于你的问题:
1、远程Web管理有两种意思:
第一种是路由器自带的远程Web管理功能
第二种是WindowsSBS中带有的Web管理功能
不知道你的问题是哪一种,所以将这两种问题的解决方法都提供给你
2、开启路由器自带远程Web管理功能
路由器的远程Web管理和路由器管理页面是两回事,远程Web管理功能需要单独开启,不同的路由器开启方式可能有差别,以TP-Link为例
在管理页面中设置Web管理端口和IP地址,并且选择启用才可以!
如果你的问题是进不了路由器管理页面,那么请复位路由器试试
3、开启WindowsSBS中的远程Web管理功能
a打开 Windows SBS 控制台。
b在导航栏中,单击“共享文件夹和网站”。
c单击“网站”选项卡。
d右键单击“远程 Web 访问”,请单击“启用此站点”即可!
以上就是关于linux系统自带的消息队列和rabbitmq有什么区别全部的内容,包括:linux系统自带的消息队列和rabbitmq有什么区别、rabbitmq消息阻塞如何解决、rabbitmq的远程web管理上的数据怎么获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)