1.各种安装
2.简单配置:

jetty.xml

localhost:8161

配置:

activemq添加stomp的61613接口

conf/activemq.xml

<transportConnector name="stomp+nio" uri="stomp+nio://0.0.0.0:61613?transport.closeAsync=false"/>
3.创建消息列队
<?php
$queue = "/queue/userReg"; try {
$stomp = new Stomp('tcp://127.0.0.1:61613');
} catch (StompException $e) {
die('Connection failed: ' . $e->getMessage());
} $obj = new Stdclass();
$obj->username = 'smartom';
$obj->password = '123';
$obj->status = 1;
$stomp->send('/queue/userReg', json_encode($obj));
4.销毁消息列队
<?php
$queue = "/queue/userReg"; try {
$stomp = new Stomp('tcp://127.0.0.1:61613');
} catch (StompException $e) {
die('Connection failed: ' . $e->getMessage());
} $isSubscribe = $stomp->subscribe($queue); //订阅 while ($stomp->hasFrame()) { //循环读取队列
$frame = $stomp->readFrame(); //读取下一个
$user = json_decode($frame->body);
/*
处理消息
*/
if($user->status=1){
$user->status=2;
$stomp->send('/queue/sendVerify', $frame->body); //发送下一个
$stomp->ack($frame); //销毁列队
} sleep(3); }

5.开启事务

$queue1 = "/queue/userReg";
$queue2 = "/queue/sendMsg";
$stomp->begin("news");
if($stomp->send($queue1,json_encode($mainSite), array('transaction' => 'news')) && $stomp->send($queue2,json_encode($searchIndex) , array('transaction' => 'news')) )//发布到主站消息
{
$stomp->commit("news");
}

6.topic多个订阅者

queue是单个订阅者

$broker = 'tcp://192.168.222.129:61613';
$queue = "/topic/order_create";

7.集群配置

8.共享文件系统

使用共享系统来做 Master/slave集群

9.共享数据库方式

所有消息读写其实都是数据库操作,性能完全取代与数据库的性能。

10.基于zookeeper 的主从(levelDB Master/Slave)

基于zookeeper 来选举出一个master ,其他节点自动作为slave实时同步消息.

安装相应工具

yum -y install nfs-utils rpcbind

nfs(network file system) 网络文件系统

rpcbind 是一个RPC服务,主要是在nfs 共享时负责通知客户端,服务器的nfs端口号

PHP用ActiveMq 实现消息列队的更多相关文章

  1. ActiveMQ发消息和收消息

    来自:http://blog.163.com/chengwei_1104/blog/static/53645274201382315625329/ ActiveMQ 是Apache出品,最流行的,能力 ...

  2. ActiveMQ之消息指针

    消息指针(Message cursor)是activeMQ里一个非常重要的核心类,它是提供某种优化消息存储的方法.消息中间件的实现一般都是当消费者准备好消费消息的时候,它会从持久化存储中一批一批的读取 ...

  3. 在PHP中如何使用消息列队

    /** * 消息列队服务 * @author zhou.tingze * @example * -----------------------------------Create----------- ...

  4. 消息中间件--ActiveMQ&JMS消息服务

    ### 消息中间件 ### ---------- **消息中间件** 1. 消息中间件的概述 2. 消息中间件的应用场景 * 异步处理 * 应用解耦 * 流量削峰 * 消息通信   --------- ...

  5. ActiveMQ的消息持久化机制

    为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制. ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,无论使用哪种持久化方式 ...

  6. 【ActiveMQ入门-5】ActiveMQ学习-消息持久性

    ActiveMQ中的消息持久性     ActiveMQ很好的支持了消息的持久性(Persistence).消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是 ...

  7. 消息列队 php 基于redis 实现

    说明 消息列队 基于PHP 实现. 之前 用python 的 flower 实现了 列队. 今天这里我们用的是 PHP 来实现: 在实际的业务环境中 PHP 用的多些: PHP 实现列队 最重要的是用 ...

  8. 消息列队 分布式事务解办法 celery flower使用总结

    前言 项目中有场景 需要用到 分布式事务业务,经过查下资料把学习相关笔记做记录方便他人或者自己后面查看. 场景 在网站A业务中有个操作 是 要在网站B中新建一台服务器跑业务.A中执行B中的接口创建服务 ...

  9. 【Java Web开发学习】Spring消息-ActiveMQ发送消息

    ActiveMQ发送消息 转载:http://www.cnblogs.com/yangchongxing/p/9042401.html Java消息服务(Java Message Service, J ...

随机推荐

  1. Spring Boot 揭秘与实战(二) 数据存储篇 - MySQL

    文章目录 1. 环境依赖 2. 数据源3. 脚本初始化 2.1. 方案一 使用 Spring Boot 默认配置 2.2. 方案二 手动创建 4. 使用JdbcTemplate操作5. 总结 4.1. ...

  2. MongDB篇,第一章:数据库知识2

    MongDB    数据库知识2 非关系型数据库和关系型数据库的比较1. 不是以关系模型构建数据结构,结构比较自由 不保证数据的一致性2. 非关系型数据库弥补了关系型数据库的一些不足,能 够在处理高并 ...

  3. Unity读取AssetBundle资源全教程(所有读取方式)

    读取/加载 AssetBundle 资源的多种方式 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Ch ...

  4. vue查缺补漏题

    一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数 ...

  5. XXS level5

    (1)用第四关的方法尝试,发现不行,查看页面源代码,发现on中间有了下划线 (2)查看PHP源代码 <?php ini_set("display_errors", 0); $ ...

  6. pycharm汉化 (ubuntu版)

    终端依次输入 cd  /tmp git clone https://github.com/ewen0930/PyCharm-Chinese cd Pycharm-Chinese bash packag ...

  7. linux---三剑客

    linux的三剑客分别为awk/sed/grep,是运维人员必不可少的常用命令. 一:awk取列 awk ‘{print $1 “ ” $2}’ old.txt awk /aaa/ old.txt 二 ...

  8. {python}完成完整的温度转换程序 猜数字游戏(猜价格,猜年龄等) 解析身份证号、学号不同片段的含义

    完成完整的温度转换程序 while True: a = int(input("如果是华氏转摄氏,请按1\n,如果是摄氏转华氏,请按2\n")) if a==1: h = float ...

  9. CF613E Puzzle Lover

    题意 英文版题面 Problems Submit Status Standings Custom test .input-output-copier { font-size: 1.2rem; floa ...

  10. Kafka Consumer API样例

    Kafka Consumer API样例 1. 自动确认Offset 说明参照:http://blog.csdn.net/xianzhen376/article/details/51167333 Pr ...