最近公司想上个消息推送系统,网上搜了很多,因公司主要产品是Delphi,我选择了开源的RabbitMQ,Erlang语言开发,天生并行。

代码下载地址:delphistomp下载地址

windows上部署

1,首先到RabbitMQ官网下载win64位安装程序,同时下载Erlang语言环境安装

2,运行RabbitMQ,打开Stomp协议插件,mqtt协议插件

3,添加管理用户,guest用户只能本机连接

4,下载开源的Stomp协议Delphi客户端源码,编译Demo,delphi2010以上Unicode版本的可以用indy模式,D7,D2007要换种方式

5.消息路由,Change模式,消息广播,推送给所有订阅频道的客户端

6,临时消息队列,保存在内存中,重启RabbitMq后,队列清空

7,永久消息队列,消息不被消费,则一直存在,保存在内存,磁盘,重启不丢失

8,ack消息确认,消息确认后,不管是临时还是永久消息将被删除, 当前消费者不确认,则下次推送给下一个消费者,如同时多个消费者在线,消息将排队,一个个消息推送给消费者,不是连续的,是第一条消息给第一个消费者,第二条消息给第二个消费者,第三条消息给第三个消费者,到第N个,如果只有一个消费者,则将消息全部发给他,注意:消息只能确认一次,如果想让消息一次性推送给多个消费者,则伪消费者发送Nack,RabbitMq收到后,推送给下一个消费者,等到真正的消费者时,发ACk,消息结束。

9.发送消息分永久和临时消息,永久消息必须队列也是耐用的,才会保存到磁盘,消息消费后将被删除

Stomp协议demo已看的差不多,但领导要用mqtt协议,只能再看mqtt,烦躁

http://blog.csdn.net/y281252548/article/details/49872647

delphi Stomp客户端连接 RabbitMQ(1)的更多相关文章

  1. Spring cloud config 客户端连接RabbitMQ 报 socket closed

    java.net.SocketException: socket closed at java.net.SocketInputStream.socketRead0(Native Method)     ...

  2. 【RabbitMQ】CentOS安装RabbitMQ,及简单的Java客户端连接

    在CentOS安装 因Rabbit MQ使用Erlang,所以需要先安装Erlang,安装过程中可能会遇到种种问题,可参考CentOS 6.5安装Erlang/OTP 17.0.然后就可以安装MQ了. ...

  3. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

  4. 第四节 RabbitMQ在C#端的应用-客户端连接

    原文:第四节 RabbitMQ在C#端的应用-客户端连接 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87 ...

  5. 高版本->低版本迁移,低版本客户端连接高版本数据库EXP导出报错EXP-00008,ORA-01455,EXP-00000

    生产环境: 源数据库:RHEL + Oracle 11.2.0.3 目标数据库:HP-UX + Oracle 10.2.0.4   需求:迁移部分表  11.2.0.3-->10.2.0.4,若 ...

  6. Redis客户端连接池

    使用场景 对于一些大对象,或者初始化过程较长的可复用的对象,我们如果每次都new对象出来,那么意味着会耗费大量的时间. 我们可以将这些对象缓存起来,当接口调用完毕后,不是销毁对象,当下次使用的时候,直 ...

  7. redis客户端连接异常

    本文参考:http://mdba.cn/2015/04/02/redistwemproxy-%e5%ae%a2%e6%88%b7%e7%ab%af%e8%bf%9e%e6%8e%a5%e5%bc%82 ...

  8. Mysql从客户端连接服务器连不上的问题

    Mysql从客户端连接服务器连不上的问题   公司要用Mysql做一个测试,开始在自己的本地建一个Mysql数据库自己本地的程序再连上去,没有遇到过连接不上的问题.这次数据库在服务器上,从本地客户端连 ...

  9. Mark一下,一上午就这么过去了,关于客户端连接oracle10G的问题

    Mark一下,一上午就这么过去了,关于客户端连接oracle10G的问题 正常的客户端PLSQL和Navicat都可以正常连接Oracle(局域网内),但代码生成器和VS2015死活连不上,在网上找了 ...

随机推荐

  1. javascript动态创建表格:新增、删除行和列

    转载:http://www.cnblogs.com/pato/archive/2009/09/02/1559068.html 利用js来动态创建表格有两种格式,appendChild()和insert ...

  2. Android四大组件之Activity--管理方式

    1. 概览 Activity的管理有静态和动态两层涵义: 静态是指Activity的代码组织结构,即Application中声明的Activity的集合,这些Activity被组织在一个APK中,有特 ...

  3. PDW中的Split Querying Process

    最近看了关于 SQL Server 的分布式处理方面的论文,觉得它提出的 Polybase 跟之前看过的 HadoopDB 有些神似,这里做个小总结(抽空再把 HadoopDB 的总结贴出来). 不算 ...

  4. 矿Java开发学习之旅------>Java排序算法经典的二分法插入排序

    一.折半插入排序(二分插入排序) 将直接插入排序中寻找A[i]的插入位置的方法改为採用折半比較,就可以得到折半插入排序算法.在处理A[i]时,A[0]--A[i-1]已经按关键码值排好序.所谓折半比較 ...

  5. npm与cnpm混用导致的问题

    npm和cnpm混用之后,再用npm升级模块导致如下错误: 解决办法: 删除node_modules文件下的文件后,重新执行npm install

  6. Adaptive device-initiated polling

    A method includes periodically sending a polling call to an enterprise system outside the firewall a ...

  7. SecureCRT下载/注册/安装镜像文件

    #$language = "VBScript" #$interface = "1.0" ' This automatically generated scrip ...

  8. python 教程 第十二章、 标准库

    第十二章. 标准库 See Python Manuals ? The Python Standard Library ? 1)    sys模块 import sys if len(sys.argv) ...

  9. C ++ 17 技术上已经完成,C ++ 20 也在路上(有路线图)

    在前不久结束的冬季 ISO C ++标准会议(Kona)上,C ++ 17 宣布在技术上已完成,仅剩下一些 ISO 相关的繁文缛节,即将提交至最终的 ISO 投票表决.该会议由 Plum Hall 和 ...

  10. 【从翻译mos文章】在oracle db 11gR2版本号被启用 Oracle NUMA 支持

    在oracle db 11gR2版本号被启用 Oracle NUMA 支持 参考原始: Enable Oracle NUMA support with Oracle Server Version 11 ...