Below you will find pages that utilize the taxonomy term “消息队列”
May 5, 2013
linux下安装zeromq消息队列软件
"\u003cp\u003e在上一节 \u003ca href=\"http://blog.haohtml.com/archives/13790\"\u003e消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ\u003c/a\u003e 我们介绍了一些相关的消息队列软件.这里我们对安装zeromqq这款软件的安装及php使用方法介绍一下.\u003c/p\u003e\n\u003cp\u003ecentos下安装zeromq消息队列软件.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e一.安装服务端\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;\"\u003e\u003ccode class=\"language-shell\" data-lang=\"shell\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ecd ~\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ewget http://download.zeromq.org/zeromq-3.2.3.tar.gz\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003etar zxvf zeromq-3.2.3.tar.gz\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ecd zeromq-3.2.3\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e./configure \u003cspan style=\"color:#75715e\"\u003e# –prefix=/usr/local/zeromq\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003emake \u003cspan style=\"color:#f92672\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e make install\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e**二.安装php扩展 **\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;\"\u003e\u003ccode class=\"language-shell\" data-lang=\"shell\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003egit clone git://github.com/mkoppanen/php-zmq.git\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ecd php-zmq\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ephpize\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e./configure –with-php-config\u003cspan style=\"color:#f92672\"\u003e=\u003c/span\u003e/usr/local/php/bin/php-config\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003emake \u003cspan style=\"color:#f92672\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e make install\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e执行完以后,会提示:\u003c/p\u003e\n\u003cp\u003eInstalling shared …\u003c/p\u003e"
May 5, 2013
消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ
"\u003cp\u003eRabbitMQ、ActiveMQ和ZeroMQ都是极好的消息中间件,但是我们在项目中该选择哪个更适合呢?很多开发者面临这个烦恼。下面我会对这三个消息中间件做一个比较,看了后你们就心中有数了。\u003c/p\u003e\n\u003cp\u003eRabbitMQ是AMQP协议领先的一个实现,它实现了代理(Broker)架构,意味着消息在发送到客户端之前可以在中央节点上排队。此特性使得RabbitMQ易于使用和部署,适宜于很多场景如路由、负载均衡或消息持久化等,用消息队列只需几行代码即可搞定。但是,这使得它的可扩展性差,速度较慢,因为中央节点增加了延迟,消息封装后也比较大。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2013/05/rabbitmq.jpg\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/rabbitmq.jpg\" alt=\"rabbitmq\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://www.zeromq.org/\"\u003eZeroMQ\u003c/a\u003e 是一个非常轻量级的消息系统,专门为高吞吐量/低延迟的场景开发,在金融界的应用中经常可以发现它。与RabbitMQ相比,ZeroMQ支持许多高级消息场景,但是你必须实现ZeroMQ框架中的各个块(比如Socket或Device等)。ZeroMQ非常灵活,但是你必须学习它的80页的手册(如果你要写一个分布式系统,一定要阅读它)。\n\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2013/05/zmq.jpg\"\u003e\u003cimg src=\"https://blogstatic.haohtml.com//uploads/2023/09/zmq.jpg\" alt=\"zmq\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eActiveMQ居于两者之间,类似于ZemoMQ,它可以部署于代理模式和P2P模式。类似于RabbitMQ,它易于实现高级场 …\u003c/p\u003e"
June 21, 2011
centos下安装RabbitMQ消息队列
"\u003cp\u003e这里环境为centos7 64位.\n一。安装erlang\u003c/p\u003e\n\u003cp\u003e[shell]su -c ‘rpm -Uvh \u003ca href=\"http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm\"\u003ehttp://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm\u003c/a\u003e’\nsudo yum install erlang[/shell]\u003c/p\u003e\n\u003cp\u003e二。安装rabbitmq\u003c/p\u003e\n\u003cp\u003e我们是用CentOS7(RHEL7也一样),可以从这里: \u003ca href=\"http://fedoraproject.org/wiki/EPEL/FAQ#howtouse\"\u003ehttp://fedoraproject.org/wiki/EPEL/FAQ#howtouse\u003c/a\u003e 找到安装有erlang的RHEL7(CentOS同)软件仓库并安装:\u003c/p\u003e\n\u003cp\u003e[shell]\nwget -c \u003ca href=\"http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.0/rabbitmq-server-3.5.0-1.noarch.rpm\"\u003ehttp://www.rabbitmq.com/releases/rabbitmq-server/v3.5.0/rabbitmq-server-3.5.0-1.noarch.rpm\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003esudo rpm –import \u003ca href=\"http://www.rabbitmq.com/rabbitmq-signing-key-public.asc\"\u003ehttp://www.rabbitmq.com/rabbitmq-signing-key-public.asc\u003c/a\u003e\nsudo yum install …\u003c/p\u003e"
June 9, 2011
利用PHP操作Linux消息队列完成进程间通信
"\u003cp\u003e当我们开发的系统需要使用多进程方式运行时,进程间通信便成了至关重要的环节。消息队列(message queue)是Linux系统进程间通信的一种方式。\u003c/p\u003e\n\u003cp\u003e关于Linux系统进程通信的概念及实现可查看: \u003ca href=\"http://www.ibm.com/developerworks/cn/linux/l-ipc/\"\u003ehttp://www.ibm.com/developerworks/cn/linux/l-ipc/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e关于Linux系统消息队列的概念及实现可查看: \u003ca href=\"http://www.ibm.com/developerworks/cn/linux/l-ipc/\"\u003ehttp://www.ibm.com/developerworks/cn/linux/l-ipc/part4/\u003c/a\u003e\nPHP的sysvmsg模块是对Linux系统支持的System V IPC中的System V消息队列函数族的封装。我们需要利用sysvmsg模块提供的函数来进进程间通信。先来看一段示例代码_1:\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e01``\u0026lt;?php\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e02\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e03``$message_queue_key\u003c/code\u003e \u003ccode\u003e= \u003c/code\u003e \u003ccode\u003eftok\u003c/code\u003e \u003ccode\u003e(\u003c/code\u003e \u003ccode\u003e__FILE__\u003c/code\u003e \u003ccode\u003e, \u003c/code\u003e \u003ccode\u003e'a'\u003c/code\u003e \u003ccode\u003e);\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e04\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e05``$message_queue\u003c/code\u003e \u003ccode\u003e= msg_get_queue(\u003c/code\u003e \u003ccode\u003e$message_queue_key\u003c/code\u003e \u003ccode\u003e, 0666);\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e06``var_dump(\u003c/code\u003e \u003ccode\u003e$message_queue\u003c/code\u003e \u003ccode\u003e);\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e07 …\u003c/code\u003e\u003c/p\u003e"