当前位置: 首页 > news >正文

python做网站和php中牟网站建设

python做网站和php,中牟网站建设,wordpress用php哪个版本好,做哪个外贸网站不用交费文章目录 前言#xff1a;1 消费慢2 消息丢失3 消息重复消费4 日常报错及解决4.1 报错“error in config file “/etc/rabbitmq/rabbitmq.config” (none): no ending found”4.2 生产者发送消息报错4.3 浏览器打开IP地址#xff0c;无法访问 RabbitMQ#xff08;白屏没有结… 文章目录 前言1 消费慢2 消息丢失3 消息重复消费4 日常报错及解决4.1 报错“error in config file “/etc/rabbitmq/rabbitmq.config” (none): no ending found”4.2 生产者发送消息报错4.3 浏览器打开IP地址无法访问 RabbitMQ白屏没有结果4.4 Web管理界面不显示信息4.5 安装Erlang时openssl版本太低报错4.6 安装时提示错误error: Failed dependencies: socat is needed by rabbitmq-server4.7 rabbitmq启用web管理插件报错 Error: The following plugins could not be found:4.8 rabbitmq启动报错ERROR: epmd error for host xxx: timeout (timed out)4.9 rabbitmq节点加入集群报错 5 集群节点故障修复 前言 RabbitMQ注意小计故障恢复提示 保证集群中至少有一个磁盘类型的节点以防数据丢失在更改节点类型时尤其要注意。 若整个集群被停掉了应保证最后一个down掉的节点被最先启动若不能则要使用forget_cluster_node命令将其移出集群。 若集群中节点几乎同时以不可控的方式down 了此时再其中一个节点使用force_boot 命令重启节点。 如果加入集群后意外关闭等造成rabbitmq-server启动不成功可以尝试一下步骤/var/lib/rabbitmq/mnesia 目录下存在rabbitlocalhost.pid、rabbitlocalhost、rabbitlocalhost-plugins-expand删除这3项后并且删除 /var/lib/rabbitmq/ 目录下 .erlang.cookie和erl_crash.dump 再使用systemctl start rabbitmq-server启动 1 消费慢 问题分析 rabbitmq的内存 占用达到或超过水位线 因为 vm_memory_high_watermark 值设置的是0.4 也就是物理内存的40% 服务器为16G * 40% 6.4G 一般在产生的原因是长期的生产者发送速率大于消费者消费速率导致. 触发了RabbitMQ 的流控 解决方案 增加消费者端的消费能力,或者增加消费者(根本解决)控制消息产生者端的发送速率(不太现实)增加mq的内存(治标不治本) 2 消息丢失 这个是RabbitMQ最常见的问题,RabbitMQ丢失分三种情况,生产者消息丢失,RabbitMQ消息丢失,消费者消息丢失. 生产者消息丢失 生产者在发送消息给RabbitMQ,在中途有可能因为网络问题导致消息丢失,我们可以选择RabbitMQ提供的事务,也可以用confirm模式,就是生产者确认 事务: channel.tsSelect开启事务; channel.txRollback出现问题事务回滚 channel.txCommit成功后提交事务 confirm模式: 生产者发送消息,每个消息分配一个id,如果RabbitMQ接收到消息返回ack,如果没有收到放回nack,这个时候生产者只需要重新发送这个消息即可,可以结合这个机制在内存里设置消息id的状态,多长时间没有f返回ack就是失败,重新发送消息. 事务和confirm对比: 事务是属于同步的,在你提交一个事务会阻塞在那里,其他的消息是不能继续发送的,这样很容易影响性能,而confirm是异步的就是发送完我可以继续发送另一条消息,在正常使用中推荐使用confirm模式RabbitMQ消息丢失 RabbitMQ数据丢失,可以用持久化分为两个步骤: 首选创建queue的时候将其设置为持久化,这样可以保证RabbitMQ持久化queue的元数据,而不会持久化queue的数据,第二步将消息的deliveryMode设置为2,就是将消息设置为持久化,此时消息就会持久化到磁盘上,即使RabbitMQ重启,也会从磁盘上恢复queue,恢复queue里的数据 跟生产者的confirm配合,如过持久化到磁盘上再返回ack,如果还没持久化就RabbitMQ挂掉了,生产者没有收到ack,还是会重新发送消息.消费者消息丢失 消费者有可能因为刚接到消息还没有处理就重启了,但是RabbitMQ以为他处理了,这样就会导致消息丢失,合理的解决方案是关闭自动ack,可以通过api来进行调用,等自己的代码处理完成之后,可以ack,这样即使你没有消费RabbitMQ也知道你是没有去消费的,这个时候RabbitMQ可以把消息交给其他的consumer进行消费,避免消息丢失 3 消息重复消费 出现原因消费者消息消息的时候MQ没有收到消息的ack应答。 场景 消费者消费消息后没有ack。消费者在消费消息后ack时网络异常。 解决步骤 消费者消费后记录通过缓存记录消息的消费标识消息id如redis的setnx如果消费成功且ack成功则删除记录的消息标记。如果ack失败消息下次被消费消息时候先去查询消息的消费标识已经消费则直接ack未消费则继续消费。 4 日常报错及解决 4.1 报错“error in config file “/etc/rabbitmq/rabbitmq.config” (none): no ending found” rabbitmq config的配置相关的官方文档 http://www.rabbitmq.com/configure.html 官方给出的一个 示例配置 https://github.com/rabbitmq/rabbitmq-server/blob/v3.8.x/deps/rabbit/docs/rabbitmq.conf.example 拷贝以上实例文档 到 对应的rabbitmq的安装目录下的文件/etc/rabbitmq , 取名配置文件名称为 rabbitmq.config重启rabbit那么当前文件 就为 当前rabbit所使用。 4.2 生产者发送消息报错 channel is already closed due to channel error; protocol method: #methodchannel.close(reply-code404, reply-textNOT_FOUND - home node ‘rabbitxxx’ of durable queue ‘xxx_queue’ in vhost ‘/’ is down or inaccessible, class-id50, method-id10) 生产者连接不上vhost’/看报错像是服务端有问题经排查后发现发现服务集群有一个节点满了导致连接到这个节点的Connection都出问题了。 解决方案添加节点重启生产者服务。 4.3 浏览器打开IP地址无法访问 RabbitMQ白屏没有结果 服务器对应的安全组15672端口没有开启入规则导致浏览器无法访问到服务器的任何内容。 4.4 Web管理界面不显示信息 原因cluster搭建起来后若在web管理工具中rabbitmq_management的Overview的Nodes部分看到“Node statistics not available”的信息说明在该节点上web管理插件还未启用。解决办法直接在显示提示信息的节点上运行 rabbitmq-plugins enable rabbitmq_management 4.5 安装Erlang时openssl版本太低报错 Package erlang.x86_64 0:22.0.7-1.el7 will be installed -- Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: erlang-22.0.7-1.el7.x86_64 -- Finished Dependency Resolution Error: Package: erlang-22.0.7-1.el7.x86_64 (rabbitmq_erlang) 解决方法升级openssl版本 安装Erlang后再安装rabbitmq提示erlang23.3 is needed by rabbitmq-server 解决方法需要安装erlang与rabbitmq对应的版本官方版本对应表 https://www.rabbitmq.com/which-erlang.html 4.6 安装时提示错误error: Failed dependencies: socat is needed by rabbitmq-server 解决方法需要安装socat # yum install socat -y 4.7 rabbitmq启用web管理插件报错 Error: The following plugins could not be found: 解决方法进入到rabbitmq安装目录下,再次执行rabbitmq-plugins enable rabbitmq_management即可 4.8 rabbitmq启动报错ERROR: epmd error for host xxx: timeout (timed out) 解决方法编辑/etc/hosts文件添加对应host的映射即可 4.9 rabbitmq节点加入集群报错 解决方法 检查节点之间是否能ping通查看节点服务4369端口是否打开检查节点防火墙是否关闭或者允许4369端口访问rabbitmq节点加入集群报错如下图 解决方法 检查主机名是否匹配及hosts文件是否映射检查cookice内容是否一致 5 集群节点故障修复 故障现象日志如下 2022-06-15 15:41:05.244 [error] lt;0.274.0gt; Timeout contacting cluster nodes: [rabbitrabbitmq-3,rabbitrabbitmq-1]. ...................................................................................................................... 2022-06-15 15:41:05.246 [error] lt;0.274.0gt; attempted to contact: [rabbitrabbitmq-3,rabbitrabbitmq-1] 2022-06-15 15:41:05.246 [error] lt;0.274.0gt; 2022-06-15 15:41:05.246 [error] lt;0.274.0gt; rabbitrabbitmq-3: 2022-06-15 15:41:05.246 [error] lt;0.274.0gt; * connected to epmd (port 4369) on rabbitmq-3 2022-06-15 15:41:05.246 [error] lt;0.274.0gt; * node rabbitrabbitmq-3 up, rabbit application running 2022-06-15 15:41:05.246 [error] lt;0.274.0gt; rabbitrabbitmq-1: 2022-06-15 15:41:05.246 [error] lt;0.274.0gt; * connected to epmd (port 4369) on rabbitmq-1 2022-06-15 15:41:05.247 [error] lt;0.274.0gt; * node rabbitrabbitmq-1 up, rabbit application running 2022-06-15 15:41:05.247 [error] lt;0.274.0gt; 2022-06-15 15:41:05.247 [error] lt;0.274.0gt; Current node details: 2022-06-15 15:41:05.247 [error] lt;0.274.0gt; * node name: rabbitrabbitmq-2 2022-06-15 15:41:05.247 [error] lt;0.274.0gt; * effective users home directory: /var/lib/rabbitmq 解决方法从故障现象日志来分析是网络无通信问题通过手动进行reset和start_app提示错误无法加入集群节点。快速恢复剔除故障节点重新加入集群节点 1.移除故障节点,在操作rabbitrabbitmq-1 rabbitmqctl forget_cluster_node rabbitrabbitmq-2 2.在故障节点删除故障节点数据 cd /var/lib/rabbitmq/ mv mnesia mnesia.bak3.启动 rabbitmq-server systemctl start rabbitmq-server # 查看状态 rabbitmqctl status 4.将节点添加到集群 rabbitmqctl stop_app rabbitmqctl join_cluster rabbitrabbitmq-1 rabbitmqctl start_app 注故障节点恢复及加入到集群中
http://www.w-s-a.com/news/586083/

相关文章:

  • 做任务的设计网站泰州哪里做网站
  • 什么网站可以做设计赚钱吗南京十大软件公司排名
  • 网站开发时间进度北京有哪些著名网站
  • 深圳比较好的设计网站公司自己的网站到期域名如何续费
  • 温州做网站哪儿新云网站模版
  • 网站开发 视频存在哪检察院前期网站建设
  • 备案中的网站信息怎么填如何做分享赚钱的网站
  • 网站行程表怎么做注册公司费用要多少
  • 常见电子商务网站基本模式南山网站公司定
  • 网站搭建代码网站里面送礼物要钱怎么做代码
  • 大学英文网站建设举措wordpress 学院 模板
  • 爱 做 网站吗php网站作业模版
  • wordpress代码乱吗台州做网站seo的
  • 做ptt网站wordpress中文企业网站
  • 深圳雨棚制作深圳 网站优化公司排名
  • 深圳优秀网站建设价格wordpress没人用
  • 国企网站建设需要注意沈阳招标信息网
  • 东莞360推广的网站是谁做的上海网络推广产品
  • 网站可以换主机吗中国十大网站建设企业
  • 怎么做盗版小说网站官网做有下拉列表的网站的图片
  • 邢台网站建设电话网站界面类型
  • 网站制作合同模板做一个网站能挣多少钱
  • 汶上1500元网站建设互联网高端官网
  • 广州做公司网站网站开发培训机构
  • 网站建设与维护 课件网页版qq安全中心登录入口
  • 做三个月网站广告收入dw如何制作网页
  • ...课程网站建设简介工信部 网站备案查询
  • 网站代码建设 实例企业网站建设大概的费用
  • 制作网站软件排行榜过年做啥网站致富
  • 哪里有做网站企业seo关键词优化