-
RabbitMQ分布式消息队列服务器(一、Windows下安装和部署)
2017-06-19 21:05:54RabbitMQ消息队列服务器在Windows下的安装和部署-> 一、Erlang语言环境的搭建 RabbitMQ开源消息队列服务是使用Erlang语言开发的,因此我们要使用他就必须先进行Erlang语言环境的搭建,其实是非常简单的。 登录...RabbitMQ消息队列服务器在Windows下的安装和部署->
一、Erlang语言环境的搭建
RabbitMQ开源消息队列服务是使用Erlang语言开发的,因此我们要使用他就必须先进行Erlang语言环境的搭建,其实是非常简单的。
登录Erlang官网,进入下载页,官网地址->http://www.erlang.org/downloads
然后按照自己的系统环境来选择需要下载的安装文件。
我选择 64-bit下载包,因为我的操作系统是64位的
接下来我们需要对Erlang语言的环境变量的配置
这里使用安装时候的目录地址!
一定要记得重启计算机,这里不重启是不会生效的!!!
这样,我们的Erlang运行环境就已经搭建完毕!
二、RabbitMQ服务环境的搭建
打开RabbitMQ官网,然后找到下载链接->http://www.rabbitmq.com/download.html
直接下载最新版本的RabbitMQ安装包,我这里下载的是3.6.10
这里直接运行安装程序进行安装,安装完成后进行服务的启动。
从系统服务可以看到,我们的RabbitMQ服务已经启动了。
到这里,RabbitMQ的服务已经搭建完毕。
三、RabbitMQ服务的查看及常用命令
1、GUI管理工具(web)
执行代码可以启动GUI管理工具集,也只有启动了这个管理工具才可以在Web页面看到RabbitMQ的监控信息
启动以后,我们打开浏览器输入地址-> http://localhost:15672/
账号密码都是guest,然后点击login进行登录操作。
2、查看所有队列信息 rabbitmqctl list_queues
3、查看服务状态信息 rabbitmqctl -q status
这里我就不一一列举所有的命令了,在使用的时候我们可以随时查询使用。
本文为七小站主原创作品,转载请注明出处:http://www.cnblogs.com/qixiaoyizhan/ 且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
作者信息:QiXiao_柒小(東)
Microsoft ARD Technical Support
QX(qixiao)Team
天津市西青經濟開發區 Xiqing Economic Development Area Tianjin 300387,P.R.China
郵箱Email : dong@qixiao.me , wd8622088@foxmail.com
網址Http: http://qixiao.me
Best Regard ~ -
AterNode:一个简单的库,仅需几行即可在Aternos上启动服务器并跟踪队列-源码
2021-04-05 06:23:58示例登录: const Aternode = require ( 'aternode' ) ; const aternos = new Aternode ( ) ; ( async ( ) => { // Faz o login no aternos. await aternos . login ( { user : 'Username' , password : '... -
消息队列
2021-03-31 18:56:37服务器启动rabbtimq2.登录控制台三、rabbitmq五种模式1.简单模式2.争抢模式3.交换机----3种(1).交换机的运行机制(2).三种类型第一种:发布订阅:fanout第二种:路由模式:direct第三种:主题模式:topic 一、作用 1....消息队列
一、作用
1.解耦
代码,或者系统通信都可能存在强耦合的关系,可以通过消息队列第三方技术处理强耦合,解耦 。
1.消峰
请求到达系统的方法上限,超过上限的请求不丢失不拒绝.。
二、rabbitmq的启动和控制台登录
1.服务器启动rabbtimq
#service rabbitmq-server start
start启动
stop停止
restart重启2.登录控制台
控制台是web应用,可以通过http协议访问
ip:15672
登录名密码:guest/guest三、rabbitmq五种模式
1.简单模式
当生产端发送消息到交换机,交换机根据消息属性发送到队列,消费者监听绑定队列实现消息的接收和消费逻辑编写.简单模式下,强调的一个队列queue只被一个消费者监听消费.
1.1结构
生产者:生成消息,发送到交换机交换机:根据消息属性,将消息发送给队列
消费者:监听这个队列,发现消息后,获取消息执行消费逻辑
1.2应用场景
常见的应用场景就是一发,一接的结构
例如:
手机短信,邮件单发2.争抢模式
强调的也是后端队列与消费者绑定的结构(一对多)
1.1结构
生产者:发送消息到交换机
交换机:根据消息属性将消息发送给队列
消费者:多个消费者,同时绑定监听一个队列,之间形成了争抢消息的效果
1.2应用场景
抢红包
资源分配系统3.交换机----3种
(1).交换机的运行机制
生产端要发送消息,永远不会将消息发送给队列,而是发送给交换机。
消息本身除了数据以外,携带一个路由key值。
交换机根据自身的类型不同,采用不同的方式处理这些消息(计算路由key方式不同) 。(2).三种类型
第一种:发布订阅:fanout
生产端:发送消息到交换机交换机:由于是发布订阅模式,会将这个消息发送同步到后端所有与其绑定的队列
消息端:简单模式 1个队列绑定一个消费者 争抢模式 1个队列绑定多个消费者
应用场景
邮件的群发,广告的群发第二种:路由模式:direct
生产端:发送的消息携带具体的路由key值交换机:接收路由key值,判断和当前交换机绑定后端队列哪个满足路由的匹配
将消息发送给这个队列
应用场景
处理一些特殊的消息逻辑,可以经过路由的筛选第三种:主题模式:topic
交换机绑定队列,不在使用具体的路由key,可以使用符号代替路由key值的规则#:表示任意多级的任意长度的字符串
*:任意长度字符串,但是只有一级
应用场景
实现多级传递的路由筛选工作,记录trace过程. -
Postfix 队列清理
2017-11-14 22:01:00今天有同事反映发邮件速度慢,登录了邮件服务器的后台看一下(我们的邮件服务器是postfix+dovecot+mysql+extmail+extman 搭建的基于mysql的虚拟用户),如图 邮件队列已经达到了80000封,然后我看了一下负载,已经...Postfix 队列清理
今天有同事反映发邮件速度慢,登录了邮件服务器的后台看一下(我们的邮件服务器是postfix+dovecot+mysql+extmail+extman
搭建的基于mysql的虚拟用户),如图
邮件队列已经达到了80000封,然后我看了一下负载,已经达到20多了…….
大家都清楚负载一旦达到这个数值,服务器的性能肯定已经相当差了。这里就有问题了,队列这么多如何清理呢?
如果是把队列全部清除的话很简单:postsuper –d ALL 就ok了。但是这样操作会产生很多问题,有的正常的还没有发送的队列也会被清掉;
假如一个一个的清理,那太要命了,怎么办呢?我用postqueue –p查看了一下,发现队列里的日期的两个特点,一是日期排列不规律,
第二个特点是日期只有最近5天的。Ok,有办法了。
这是我写的一个脚本:
#!/bin/bash
/usr/sbin/postqueue -p|egrep '(Nov 8|Nov 9)' > queue1.txt
/usr/sbin/postqueue -p|egrep '(Nov 8|Nov 9)'|awk '{print $1}' > queue2.txt
for i in `cat /root/queue2.txt`
do
/usr/sbin/postsuper -d $i
done
这个脚本的作用是把队列当中日期为8号和9号的的队列写到一个文件queue1.txt(包含日期等信息),queue2.txt(只包含队列号);
然后用一个for循环来把queue2.txt里面的所有的队列都清除掉。执行完脚本,过几分钟再看监控图:
Ok,队列少了很多,而且服务器的负载也已经小于5了。
希望这个脚本对广大管理员有用,也希望大家有好的意见多提一下,欢迎大家跟我留言交流。
本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/710076,如需转载请自行联系原作者
-
5 ,es 与 solr 的区别 ,购物车 ,单点登录 ,消息队列
2019-08-31 22:07:36es 和 solr 都是基于 lucene 的搜索服务器。 高性能 : 他们都基于分词技术构建的倒排索引。 开发语言 : 都是 java 开发的。 2 ,不同点 : 建立实时索引时 : 1 ,solr 会产生 io 阻塞 2 ,es 不会,es 性能好 ...一 ,es 与 solr 的区别
1 ,相同点 :
- es 和 solr 都是基于 lucene 的搜索服务器。
- 高性能 : 他们都基于分词技术构建的倒排索引。
- 开发语言 : 都是 java 开发的。
2 ,不同点 :
- 建立实时索引时 :
1 ,solr 会产生 io 阻塞
2 ,es 不会,es 性能好 - 不断的动态添加数据的时候 :
1 ,solr 效率低下
2 ,es 不会有波动 - 分布式管理 :
1 ,solr 用 zookeeper 管理分布式
2 ,es 自身就可以 - 部署 :solr 需要部署在 web 服务器上 ( 例如 tomcat ),solr 的本质是一个动态的 web 项目
- 支持的数据格式 :
1 ,solr 支持 : xml ,json ,csv …
2 ,es 支持 : json - 应用
1 ,solr 是传统的搜索应用,对已有数据检索的时候,效率更好。
2 ,适合实时搜索,实时变化的时候,es 更好。 - 官网提供功能 :
1 ,solr 功能多。
2 ,es 只关注核心功能,如果想要更多功能,需要第三方插件。
二 ,购物车实现过程 :
1 ,购物车跟用户的关系 :
- 一个用户必须对应一个购物车
孙 : 一个用户不管买多少商品,都会存在属于自己的购物车中。 - 开发过程中 :
单点登录一定在购物车之前。
2 ,跟购物车有关的操作有哪些 :
- 添加商品到购物车。
- 展示购物车
3 ,添加商品到购物车 :用户未登录状态
- 添加到什么地方 :
1 ,redis
2 ,cookie - 例子 :
1 ,京东 : 保存在 redis 。
2 ,很多其他的小商城 : 保存在 cookie 中 - 如果用户禁用了 cookie
可以保存在 localStorage 中
4 ,添加商品到购物车 :用户已登录状态
- 存储在哪里 : redis 中
- 为了保证数据的安全性 : mysql 中也存储一份
5 ,展示购物车 :未登录状态
- 直接从 cookie 中取数据
6 ,展示购物车 :已登录状态
- cookie 数据 + redis 数据
- 如果 redis 出问题了,就 = cookie 数据 + mysql 数据
三 ,单点登录
1 ,什么是单点登录 :
- 一处登录,多出使用
- 孙 : 一个系统,由多个项目组成,多个项目之间,都共有一个用户系统
2 ,应用 :
分布式系统
3 ,架构图 :
4 ,例子 :
参观动物园流程:
检票员=认证中心模块
1.我直接带着大家进动物园,则会被检票员拦住【看我们是否有门票】,没有[售票处买票]
登录=买票
2.我去买票【带着票,带着大家一起准备进入动物园】检票员check【有票】
Token=piao
3.我们手中有票就可以任意观赏动物的每处景点。
京东:单点登录,是将token放入到cookie中的。
案例:将浏览器的 cookie 禁用,则在登录京东则失败!无论如何登录不了!5 ,智慧的地方 :
如果 cookie 不好用,就用 localStorage
四 ,消息队列 :
1 ,技术产生背景 :
在高并发的环境下,来不及同步处理用户发送的请求,则会导致请求发生阻塞。比如说,大量的insert,update之类的请求同时到达数据库MYSQL,直接导致无数的行锁表锁,甚至会导致请求堆积很多。从而触发 too many connections 错误。
2 ,消息队列的弊端:
消息的不确定性
3 ,解决 :
延迟队列,轮询技术
4 ,推荐使用 :
activemq
5 ,功能 : 异步 ( 快速响应 )
6 ,功能 : 并行 ( 快速处理 )
7 ,功能 : 排队 ( 业务需要 :有序 )
8 ,例子: ( 快速响应 )
-
2020/04/05 02-队列和工作队列模式及Pika编程
2020-04-05 18:34:29rabbitmq启动端口5672,15672,25672就代表成功了,登录web...名词有几个概念很重要,生产者和消费者,队列的服务器称为server和broker,建立链接要使用通道,里面有虚拟主机,虚拟主机下可能包含交换机和queue,... -
亲测可用基于Linux消息队列的简易聊天室(C语言).zip
2020-05-07 10:22:24亲测可用的基于Linux消息队列的简易聊天室(C语言)(附源代码)采用客户-服务器结构,其中服务器实现各个用户的登录并存储相关信息,客户端通过服务器端获取当前登录用户信息,然后各客户进程通过消息队列实现双向通信... -
基于Linux消息队列的简易聊天室(C语言)(附源代码)
2017-12-01 10:32:50采用客户-服务器结构,其中服务器实现各个用户的登录并存储相关信息,客户端通过服务器端获取当前登录用户信息,然后各客户进程通过消息队列实现双向通信。 Linux IPC通信利用消息队列消息机制,多线程通信,字符串... -
SSH 免密码/免用户名/免IP登录云服务器实践
2021-03-15 12:35:15前往 韦世东的技术专栏 收获爬虫架构/爬虫逆向/存储引擎/消息队列/Python/Golang相关知识 SSH 是 Secure Shell 的缩写,耿直地翻译过来可以称作安全外壳协议。我们可以借助 SSH 协议连接到远程服务器并完成身份校验... -
用消息队列实现atm
2019-08-04 20:46:211、进入时的功能开户、销户、登录、解锁 开户:输入姓名、身份证号、设置密码,如果开户成功,则服务器上保存一个账号信号(一个账号存一个文件,文件名建议是账号)。 销户:输入帐号、密码,服务器询问... -
RabbitMQ高级消息队列
2018-08-20 20:50:30一、网页登录方法 http://127.0.0.1:15672/ 用户名和密码默认为guest/guest 用java代码去连接rabbitmq用的端口是5672 二、rabbitMQ基本概念 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编... -
Linux实用脚本4:批量获取IBM MQ所有队列消息深度
2020-09-12 07:44:54由于单台服务器上QM比较多,里面的QUEUE更多,若需要肉眼登录查看,甚是低效。因而有此需求。 解决方案 #!/bin/bash #param1: mq_name #param2: qlocal GetQueueDepth() { if [ $# != 2 ] then echo "Usage ... -
netty 聊天服务 服务器存的通道Channel 怎么绑定客户端用户登录账户的id;
2020-01-03 11:25:28/** * 当有客户端连接时记录客户通道 * @param ctx * @throws Exception */ @Override ... public void handlerAdded...怎么在客户端启动和服务端建立连接的时候保存chaennl和客户端用户登录的id -
Linux下用C语言基于消息队列编写多人聊天室
2017-01-07 10:27:46服务器实现各用户之间聊天的消息转发,在用户注册或者登录时对各用户进行消息提醒,客户端从服务端获得相应进程信息,并用消息队列通过服务端与其他客户端进行通信。 客户端进程运行时,运行命令后需要添加名字表示... -
Linux实用脚本5:一键式IBM MQ队列深度获取与消息预览V2
2021-01-29 19:50:51由于单台服务器上QM比较多,里面的QUEUE更多,若需要肉眼登录查看,甚是低效。因而有此需求。 解决方案 #!/bin/bash #param1: mq_name #param2: qlocal GetQueueDepth() { if [ $# ... -
weblogic的jms+ejb实现队列消息的接受与发送
2018-04-26 15:14:591,在jms模块创建队列,网页登录weblogic的控制台,点击服务-消息传送,jms模块。可以新建jms模块使用2,新建jms模块,命名后选择其目标服务器后完成3,点击新建的jms模块,选择新建资源类型,这里就是选择队列单击... -
邮件测试telnet localhost 110 登录后直接断开连接_php+mysql模拟队列发送邮件,能不能见网友就靠这封邮件...
2021-01-24 01:30:46telnet命令错误控制面板下windows功能开启telnet客户端后重新运行即可成功2、和smtp服务器打招呼helo Miss (hi可以为任意其他英文字符)表示连通3、用base64加密的邮箱和密码登录字符串qq邮箱出现太多问题,... -
rabbitmq 删除不停打印异常队列信息
2019-05-28 14:05:051、关闭当前您服务器,如tomcat服务器。 2、登录web的rabbitmq地址。 3、这里可以看到你创建的所有的Queue,选中某一个Queue,下方有个Delete/Purge,展开,选择purge即可。 注意:Delete表示delete这个Queue,而... -
SecureCRT的使用--增加队列
2012-11-15 20:17:41(主要适用于队列保存于SVN中,并且需要跳板机登录生产环境的情况下) 有一种相对较方便的方法,直接在Sessions目录下,复制粘贴新的文件夹再修改参数。 更改ini档案的文件名就是Connection的Name栏位 ... -
网页管理页面创建RabbitMQ队列
2017-07-26 11:48:47如输入:http://192.0.2.94:15672(192.0.2.94为服务器1的IP地址,请根据实际情况修改), 出现登陆界面,如下图所示。 【 第二步 】输入用户名和密码登录,用户名为admin,密码为admin,进入RabbitMQ... -
请问leaf消息底层是否封装了消息队列机制
2021-01-09 23:42:28就是当服务器主动向客户端连续推送2条以上消息(比如连续有2个玩家登录时广播通知其他玩家)时。 客户端有一定几率(并不是每次必现)收到的消息不能解析。主动推送2条不同的消息(... -
Linux用消息队列完成进程间本地通讯的ATM机
2019-02-25 18:22:481、进入时的功能开户、销户、登录、解锁 开户:输入姓名、身份证号、设置密码,如果开户成功,则服务器上保存一个账号信号(一个账号存一个文件,文件名建议是账号)。 销户:输入帐号、密码,服务器询问是否... -
XMPP框架 微信项目开发之登录的实现——登录的步骤示例
2015-11-07 22:32:35XMPP登录的原理如下:客户端先发送一个用户名连接服务器,连接成功后 服务器会执行相应的回调方法通知客户端,客户端在连接成功后再发送密码进行授权登录。 XMPP用户登录的步骤:(如下图所示:) ... -
jellyamp:桌面客户端,用于从Jellyfin服务器收听音乐-源码
2021-02-04 06:40:08Jellyamp:Jellyfin的桌面音乐播放器 关于 一个时尚的跨平台桌面客户端,用于从Jellyfin服务器听音乐。 受Plexamp启发。 ...登录:服务器设置 登录:用户认证 浏览音乐 艺术家页面 播放器 队列页面