rabbitmq中文官网rabbitmq官网
本篇文章给大家谈谈rabbitmq中文官网,以及rabbitmq 官网对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
本文目录
windows下安装rabbitmq出现如下问题rabbitmq基础配置中文说明文档RabbitMq怎是安装失败 用其他的电脑可以安装成功。。。Python 异步任务队列Celery 使用windows下安装rabbitmq出现如下问题rabbitmq:rabbitmq-server-3.6.14
erlang:otp_win64_19.1(我开始装的20.1,不管怎么调试在后面启动rabbitmq时总会报错,降了一个版本就好了,具体版本对照可以参照rabbitmq官网)
erlang安装完之后需要自己手动添加环境变量,这个网上很多,不多做描述。
注:erlang有个很坑的地方,你的计算机主机名不能有中文,不是安装会有问题。会有如下报错:
Can'tsetshortnodename!
Pleasecheckyourconfiguration
rabbitmq基础配置中文说明文档本文为官方文档翻译版本rabbitmq3.7.5版本,原地址:https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example。以#开头的行为配置,key和等号以及value之间尽量保持有一个空格。以下的"默认"指的为在没有添加配置文件或者该key没有配置。
rabbitmq是使用基于tcp的amqp协议通信(如果需要ssl,可参考这里),所以这里都是监听的tcp的端口。rabbitmq支持监听多端口,并支持指定网卡的ipv4和ipv6。格式为l
isteners.tcp.${name}=${value},name可以是任意不重复的值,如:defaul、local、local_v6等。value的格式有:(1)包括了(2)和(3),(2)包括了(4)和(6),(3)包括了(5)和(7)。下面对应的为其中情况的配置,按需求进行配置,不需要都配,大部分情况只配置(1)。默认的配置为listeners.tcp.default=5672
例:
接受TCP侦听器连接的Erlang进程数。一旦打开了一个使用tcp连接的套接字,它就始终保持打开状态,直至任何一方关闭它或因为一个错误而终止。在建立一个连接时,一般为每一次请求产生一个新进程,num_acceptors就是控制产生新进程的个数。假设有一个监听进程,其任务是等待传入的tcp请求。只要一个请求到达,响应该连接请求的进程就变成了接收进程。默认的配置为num_acceptors.tcp=10。
例:
AMQP0-9-1握手(socket连接和TLS握手之后)的最大时间,以毫秒为单位。
默认的配置为handshake_timeout=10000。
例:
设置为'true'以在接受一个连接时执行反DNS反查询。在rabbitmqctl中和web管理中将显示主机名称而不是IP地址。默认的配置为reverse_dns_lookups=true。
例:
开启后的效果
仅允许通过本地(即localhost)连接到代理的用户列表。如果您希望允许guest用户远程连接,则需要将其更改为loopback_users=none。
要将其他用户限制为仅限localhost的连接,请像这样执行(monitoring是用户的名称):loopback_users.monitoring=true。默认的配置为loopback_users.guest=true。推荐设置loopback_users.guest=false。
例:
关于ssl的配置,内容比较多,参考官网。默认不配置。
选择要使用的认证/授权后端。可以配置ldap相关的设置。具体可以参考access-control。internal为由rabbitmq内部处理,默认的配置为auth_backends.1=internal。
例:
RabbitMQ具有对各种SASL认证机制的可插拔支持。服务器内置了三种这样的机制:PLAIN,AMQPLAIN和RABBIT-CR-DEMO,以及EXTERNAL可作为插件使用。您还可以通过在插件中实现rabbit_auth_mechanism行为来实现自己的身份验证机制。有关常规插件开发的更多信息,请参阅插件开发指南。默认的配置为PLAIN和AMQPLAIN。
内置的机制:
例:
有关rabbitmq-auth-mechanism-ssl插件的配置,查看:https://github.com/rabbitmq/rabbitmq-auth-mechanism-ssl
SSLhandshake超时时间,毫秒为单位。默认的配置为ssl_handshake_timeout=5000
。
例:
rabbitmq的用户的密码加密算法。修改该值只会影响新创建的用户,对应老用户需要重置密码进行更新。一般情况下不更改。默认的配置为password_hashing_module=rabbit_password_hashing_sha256。要使用SHA-512,请设置为rabbit_password_hashing_sha512。
例:
和web端的Importdefinitions、Exportdefinitions有关。好像没啥用==。
默认的用户及其权限和vhost。如果一个connect没有配置以下的配置,则使用默认值进行连接。
默认用户的tag。默认的配置default_user_tags.administrator=true。一般不需要改。
例:
heartbeat通常用来检测通信的对端是否存活(未正常关闭socket连接而异常crash)。其基本原理是检测对应的socket连接上数据的收发是否正常,如果一段时间内没有收发数据,则向对端发送一个心跳检测包,如果一段时间内没有回应则认为心跳超时,即认为对端可能异常crash了。
rabbitmq也不例外,heatbeat在客户端和服务端之间用于检测对端是否正常,即客户端与服务端之间的tcp链接是否正常。
heartbeat检测时间间隔的设置:
这里要注意的是:如果时间间隔配置为0,则表示不启用heartbeat检测。
例:
设置amqp协议最大允许的字节数。默认的配置为frame_max=131072(单位为字节,也就是128k),注意该值不要设置过大,如果一条消息比较大(如传输文件),可以通过PublishConfirm和ConsumerAcknowledgement机制,如设置过大,那么broker内存会容易被占完。也不要设置过小,保持在128k-1m之间。引用:使用RabbitMQ传输大文件,保证其完整性
例:
初始化时的最大字节,不知道哪里使用的。原文:Setthemaxframesizetheserverwillacceptbeforeconnectiontuningoccurs。
例:
设置每个连接的最大允许通道数量。0表示“没有限制”。默认的配置为channel_max=128。
例:
tcp连接相关的配置。尽量不要改。以下为默认的配置
例:
设置rabbitmq使用内存的阈值。有相对和绝对两种阈值。默认为vm_memory_high_watermark.relative=0.4。
队列开始将消息导出到光盘来释放内存的高水位限制的值。
例如,当vm_memory_high_watermark被设置为0.4并且该值被设置为0.5时,
可以在节点使用总可用RAM的20%时开始分页。大于1.0的值可能很危险,应谨慎使用。
一种替代方法是使用持久队列并发布消息,作为持久性。有了这个组合队列将消息更快地移动到磁盘。
另一种方法是配置队列来分页所有消息(都是持久和瞬态)到磁盘。
尽可能参阅http://rabbitmq.com/lazy-queues.html。
例:
内存使用情况报告策略。可以是以下之一,默认的配置为rss:
allocated:使用Erlang内存分配器统计信息
rss:使用操作系统RSS内存报告。这使用特定于操作系统的手段,并可能启动短暂的子进程。
legacy:使用legacy内存报告(运行时考虑使用多少内存)。这个策略相当不准确。
erlang:与legacy相同,为了向后兼容而保留
例:
根据watermarks检查内存级别。没发现具体作用。
例:
可用内存总量,不使用特定于操作系统的方式从环境中推断内存。只有当节点可用的实际最大RAM数量与节点将要推断的值不匹配时,才应使用这种方法。该值可以设置为整数个字节,或者可以以信息单位(例如“8GB”)设置。例如,当该值设置为4GB时,该节点会认为它在具有4GBRAM的计算机上运行。默认不设置该值。
例:
和vm_memory_high_watermark类似,disk_free_limit是控制硬盘的使用阈值。RabbitMQ正在存储数据的分区的磁盘可用空间限制。当可用磁盘空间低于此限制时,将触发流量控制。该值可以相对于RAM的总量或以字节或以信息单位表示的绝对值(例如"50MB"或"5GB"或"5KB")来设置,或者,我们可以设置相对于可用RAM总量的限制。低于1.0的值可能很危险,应谨慎使用。默认为disk_free_limit.absolute=50MB。
例:
网络分裂。一种在系统的任何两个组之间的所有网络连接同时发生故障后所出现的情况。发生这种情况时,分裂的系统双方都会从对方一侧重新启动应用程序,进而导致重复服务或裂脑。由网络分裂造成的最为严重的问题是它会影响共享磁盘上的数据。默认为ignore模式。如何处理网络分裂?详细的文档可以参考官网文档
可用的模式是:
在消息中镜像同步批量大小。增加这将加快同步,但批量总大小(以字节为单位)不得超过2GiB。该设置可用于RabbitMQ3.6.0或更高版本。默认的配置为mirroring_sync_batch_size=4096(4k)。
例:
集群相关的配置,为了形成一个集群,新的(“空白”)节点需要能够发现他们的同伴。这可以使用各种机制(后端)来完成。有些机制假定所有集群成员都提前知道(例如,在配置文件中列出),其他机制是动态的(节点可以动态增删)。
内置的发现机制如下:
cluster_formation.node_type:节点类型。默认为disc。
cluster_keepalive_interval:像集群里的其他子节点发送存活消息的间隔(毫秒)。默认为c
luster_keepalive_interval=10000统计相关,与web管理插件显示有关。可配置的值如下:
例:
设置为true,以便使用HiPE预编译RabbitMQ的部分,这是Erlang的即时编译器。这会以增加启动时间为代价来提高服务器吞吐量。
您可能会看到启动时延迟几分钟的成本提高20-50%。这些数据非常依赖于工作负载和硬件。
HiPE支持可能不会编译到您的Erlang安装中。如果不是,启用此选项只会导致显示一条警告消息,启动将按正常进行。例如,Debian/Ubuntu用户需要安装erlang-base-hipe软件包。
HiPE在某些平台上完全不可用,特别包括Windows。
HiPE在17.5之前的Erlang/OTP版本中存在已知问题。HiPE强烈建议使用最新的Erlang/OTP版本。默认的配置为hipe_compile=false。
等待集群中的Mnesiatables变得可用时使用的超时。默认的配置mnesia_table_loading_retry_timeout=30000。
在等待集群中的Mnesiatables可用时,需要重试的次数。默认的配置mnesia_table_loading_retry_limit=10。
在消息的字节数中,消息将被直接嵌入到队列索引中。详情请看persistertuning。默认的配置queue_index_embed_msgs_below=4096。
是否启用后台定期强制GC为“等待”状态运行节点上的所有Erlang进程。
禁用后台GC可以减少客户端操作的延迟,保持启用状态可以减少二进制堆的RAM使用量(请参阅https://www.erlang-solutions.com/blog/erlang-garbage-collector.html)。
在尝试此选项之前,请查看内存(http://www.rabbitmq.com/memory-use.html)。
默认的配置background_gc_enabled=false,当配置为true时,可以设置gc的间隔,默认的配置为background_gc_target_interval=60000(毫秒)。
设置是否启用代理,启用后不能直连到broker。默认的配置proxy_protocol=false。
未知
有关web管理后台的配置。
查看http://www.rabbitmq.com/stomp.html。
http://www.rabbitmq.com/mqtt.html
查看https://github.com/rabbitmq/rabbitmq-amqp1.0
查看http://rabbitmq.com/ldap.html。
RabbitMq怎是安装失败 用其他的电脑可以安装成功。。。1、软件安装程序问题:如果软件安装程序拿到别的电脑上安装也一样,删除后重装也一样,一般考虑软件安装程序有问题或不完整,建议到官网重新下载安装程序后再试。
2、系统问题:如果软件安装程序拿到别的电脑上安装后能正常使用,但在这个电脑上安装就不行,删除后重装也一样,考虑系统有问题,重新安装原版操作系统后,用随机的驱动(或到官网下载对应系统的驱动)进行安装后,重新安装软件试试。
Python 异步任务队列Celery 使用在Python中定义Celery的时候,我们要引入Broker,中文翻译过来就是“中间人”的意思。在工头(生产者)提出任务的时候,把所有的任务放到Broker里面,在Broker的另外一头,一群码农(消费者)等着取出一个个任务准备着手做。这种模式注定了整个系统会是个开环系统,工头对于码农们把任务做的怎样是不知情的。所以我们要引入Backen
d来保存每次任务的结果。这个Backend也是存储任务的信息用的,只不过这里存的是那些任务的返回结果。我们可以选择只让错误执行的任务返回结果到Backend,这样我们取回结果,便可以知道有多少任务执行失败了。其实现架构如下图所示:
可以看到,Celery主要包含以下几个模块:
celery可以通过pip自动安装。
broker可选择使用Rabbi
tMQ/redis,backend可选择使用RabbitMQ/redis/MongoDB。RabbitMQ/redis/mongoDB的安装请参考对应的官方文档。------------------------------rabbitmq相关----------------------------------------------------------
官网安装方法:http://www.rabbitmq.com/install-windows.html
启动管理插件:sbin/rabbitmq-pluginsenablerabbitmq_management启动rabbitmq:sbin/rabbitmq-server-detached
rabbitmq已经启动,可以打开页面来看看地址:http://localhost:15672/#/
用户名密码都是guest。进入可以看到具体页面。关于rabbitmq的配置,网上很多自己去搜以下就ok了。
------------------------------rabbitmq相关--------------------------------------------------------
项目结构如下:
使用前,需要三个方面:celery配置,celery实例,需执行的任务函数,如下:
Celery的配置比较多,可以在官方配置文档:http://docs.celeryproject.org/en/latest/userguide/configuration.html查询每个配置项的含义。
当然,要保证上述异步任务and下述定时任务都能正常执行,就需要先启动celeryworker,启动命令行如下:
需启动beat,执行定时任务时,Celery会通过celerybeat进程来完成。Celerybeat会保持运行,一旦到了某一定时任务需要执行时,Celerybeat便将其加入到queue中.不像worker进程,Celerybeat只需要一个即可。而且为了避免有重复的任务被发送出去,所以Celerybeat仅能有一个。
命令行启动:
如果你想将celeryworker/beat要放到后台运行,推荐可以扔给supervisor。
supervisor.conf如下:
关于本次rabbitmq中文官网和rabbitmq 官网的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。