RabbitMQ

php rabbitmq 库 php-amqplib 运行 demo

时光总嘲笑我的痴心妄想 提交于 2020-02-27 06:42:43
下载项目 php-amqplib 项目地址: https://github.com/php-amqplib/php-amqplib 下载项目: $ git clone https://github.com/php-amqplib/php-amqplib.git $ cd php-amqplib 注:需要安装好 composer( Linux 安装 php composer ) 更新依赖: $ composer update 时间可能比较长,请耐心等待。执行完成后,会出现 vender 目录。 测试 修改配置文件 tests/config.php ,把 HOST、PORT、USER、PASS、VHOST 这几项都改为自己 rabbitmq 的。 修改 demo/config.php ,关闭调试信息,注释掉: putenv('TEST_AMQP_DEBUG=1'); 发送消息: $ php amqp_publisher.php some text to publish 接收消息: php amqp_consumer.php 可以运行多个 consumer,实现消费负载均衡。 来源: oschina 链接: https://my.oschina.net/yogoup/blog/3166987

Linux centos7安装RabbitMQ

試著忘記壹切 提交于 2020-02-27 06:29:00
一、安装思路 1. 安装erlang 2. 安装socat 3. 安装rabbitmq 4. 相关配置 说明: 由于RabbitMQ是基于Erlang语言开发, 所以在安装RabbitMQ之前, 需要先安装Erlang rabbitmq需要socat依赖, 所以需要先安装socat 二、具体步骤 1. 安装erlang 下载: wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm 安装: rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 2. 安装socat 下载: wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm 安装: rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm 3. 安装rabbitmq 下载: wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm 安装: rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm

docker 运行 rabbitmq

假如想象 提交于 2020-02-27 04:22:00
启动容器 $ docker run -d --name rabbitmq3.8.2 \ -p 5672:5672 \ -p 15672:15672 \ -v /data/rabbitmq:/var/lib/rabbitmq \ --hostname myRabbit \ -e RABBITMQ_DEFAULT_VHOST=my_vhost \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=111111 \ rabbitmq:3.8.2-management 注意:使用镜像是 “rabbitmq:3.8.2-management”,带 “-management” 的表示有控制台。 具体版本号可以去docker镜像仓库中查看: https://hub.docker.com/_/rabbitmq 控制台 访问控制台: http://localhost:15672 ,可以查看 rabbitmq 的统计信息、队列信息等等。 添加用户: 设置权限: 添加完用户之后需要设置权限,点击用户列表中的用户名,进入权限页面。 命令行操作 进入容器: docker exec -it rabbitmq3.8.2 bash 命令示例: # 用户列表 root@myRabbit:/# rabbitmqctl list_users # 添加用户

CentOS 7 安装 RabbitMQ

☆樱花仙子☆ 提交于 2020-02-27 00:29:13
环境准备 基础系统:CentOS 7.6 Erlang 和 RabbitMQ 需要版本对应,参考 这里 ,本次使用如下版本 Erlang:otp_src_22.0.tar.gz (RabbitMQ 是基于 Erlang 语言开发的,所以必须先安装 Erlang) RabbitMQ:rabbitmq-server-generic-unix-3.7.15.tar.xz 1.下载并上传对应版本的软件包 1.1.Erlang 下载 erlang官网 : https://www.erlang.org/downloads otp_src_22.0.tar.gz( 1 慢就用 2 ) 下载 1 下载 2 1.2.RabbitMQ 下载 下载地址 : https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.15 rabbitmq-server-generic-unix-3.7.15.tar.xz 下载 1.3. 上传 通过 WinScp 把两个文件拖到服务器的目录 /usr/local/ 2.安装依赖 yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel 3.Erlang

如何高效的学习技术

喜你入骨 提交于 2020-02-26 22:17:42
我们相信努力学习一定会有收获,但是方法不当,既让人身心疲惫,也没有切实的回报。高中时代,我的同桌是个漂亮女同学。她的物理成绩很差,虽然她非常勤奋的学习,但成绩总是不理想。为了巩固纯洁的同学关系,我亲密无间地辅导她的物理,发现 她不知道题目考什么 。我们的教科书与试题都围绕着考试大纲展开,看到一道题,应该先想想它在考哪些定理和公式的运用。 不少朋友每天都阅读技术文章,但是第二天就忘干净了。工作中领导和同事都认可你的沟通和技术能力,但是跳槽面试却屡屡碰壁。面试官问技术方案,明明心里清楚,用嘴说出来却前言不搭后语。面试官再问底层算法,你说看过但是忘记了。他不在乎你看没看过,答不上就是零分。正如男女相亲,男方谈吐潇洒才能吸引姑娘。可是男方紧张了,平时挺能说,关键时候却支支吾吾,姑娘必然认为他不行。人生充满了许多考试,有形的和无形的,每次考试的机会只有一次。 工作五年十年后,别人成了架构师,自己还在基层打滚,原因是什么?职场上无法成功升迁的原因有很多,没有持续学习、学习效果不好、无法通过心仪公司的的面试,一定是很重要的原因。 把自己当成一台计算机,既有输入,也要有输出,用输出倒逼输入 。 学什么 基础与应用 近些年诞生了许多新技术,比如最时髦的AI(目前还在智障阶段),数学基础是初中就接触过的概率统计。万丈高楼从地起,不要被新工具或者中间件迷住双眼,一味地追新求快。基础知识是所有技术的基石

Celery Beat: Limit to single task instance at a time

耗尽温柔 提交于 2020-02-26 18:23:05
问题 I have celery beat and celery (four workers) to do some processing steps in bulk. One of those tasks is roughly along the lines of, "for each X that hasn't had a Y created, create a Y." The task is run periodically at a semi-rapid rate (10sec). The task completes very quickly. There are other tasks going on as well. I've run into the issue multiple times in which the beat tasks apparently become backlogged, and so the same task (from different beat times) are executed simultaneously, causing

Celery Beat: Limit to single task instance at a time

有些话、适合烂在心里 提交于 2020-02-26 18:22:19
问题 I have celery beat and celery (four workers) to do some processing steps in bulk. One of those tasks is roughly along the lines of, "for each X that hasn't had a Y created, create a Y." The task is run periodically at a semi-rapid rate (10sec). The task completes very quickly. There are other tasks going on as well. I've run into the issue multiple times in which the beat tasks apparently become backlogged, and so the same task (from different beat times) are executed simultaneously, causing

Docker常用命令

痴心易碎 提交于 2020-02-26 17:55:16
# #列出本地images docker images # #含中间映像层 docker images -a # #只显示镜像ID docker images -q # #含中间映像层 docker images -qa # #显示镜像摘要信息(DIGEST列) docker images --digests # #显示镜像完整信息 docker images --no-trunc # #显示指定镜像的历史创建;参数:-H 镜像大小和日期,默认为true;--no-trunc 显示完整的提交记录;-q 仅列出提交记录ID docker history -H redis # #搜索仓库MySQL镜像 docker search mysql # # --filter=stars=600:只显示 starts>=600 的镜像 docker search --filter=stars=600 mysql # # --no-trunc 显示镜像完整 DESCRIPTION 描述 docker search --no-trunc mysql # # --automated :只列出 AUTOMATED=OK 的镜像 docker search --automated mysql # #下载Redis官方最新镜像,相当于:docker pull redis:latest docker pull

【SpringBoot MQ 系列】RabbitMq 消息发送基本使用姿势

六月ゝ 毕业季﹏ 提交于 2020-02-26 17:09:36
【MQ 系列】SprigBoot + RabbitMq 消息发送基本使用姿势 前面两篇博文,分别介绍了RabbitMq的核心知识点,以及整合SpringBoot的demo应用;接下来也该进入正题,看一下SpringBoot的环境下,如何玩转rabbitmq 本篇内容主要为消息发送,包括以下几点 RabbitTemplate 发送消息的基本使用姿势 自定义消息基本属性 自定义消息转换器 AbstractMessageConverter 发送Object类型消息失败的case <!-- more --> I. 基本使用姿势 1. 配置 我们借助 SpringBoot 2.2.1.RELEASE + rabbitmq 3.7.5 来完整项目搭建与测试 项目pom.xml如下 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 配置文件 application.yml 内容如下 spring: rabbitmq: virtual-host: / username: admin password: admin port: 5672 host: 127.0.0.1 2. 配置类

RabbitMQ消费端自定义监听器DefaultConsumer

给你一囗甜甜゛ 提交于 2020-02-26 16:40:01
生产者 package com.example.demo.produce ; import com.rabbitmq.client.Channel ; import com.rabbitmq.client.Connection ; import com.rabbitmq.client.ConnectionFactory ; public class MyProcuder { public static void main (String[] args) throws Exception { //1 创建一个ConnectionFactory,并进行配置 ConnectionFactory connectionFactory = new ConnectionFactory() ; connectionFactory.setHost( "39.106.128.***" ) ; connectionFactory.setPort( 5672 ) ; connectionFactory.setVirtualHost( "/" ) ; connectionFactory.setUsername( "admin" ) ; connectionFactory.setPassword( "admin" ) ; //2 通过连接工厂创建连接 Connection connection =