29. Apache apollo和mqtt下载和部署

简介:

一. 简介

引用其他文章:

Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。

      Apollo允许客户端通过开放的MQTT协议连接。该协议主要是用在资源有限的驱动上,以及网络不稳定的情况下使用,是一个订阅、发布模型。这种驱动通常不适用类似http,stomp这类基于文本,或者类似openfire,AMQP等传统二进制协议。MQTT是一个简介的二进制协议,适用这类驱动资源受限,而且是不稳定的网络条件下。之前的稳定发布版本中,MQTT是作为一个Apollo的一个插件提供的。但是现在,这个插件已经变为开发项目的一部分。MQTT在Apollo中已经不需要其他配置文件或者是第三方插件支持了。
MQTT是一个线路层的协议,任何实现该协议的客户端都可以连接到Apollo。当然也可以整合其他MQTT兼容的消息代理中。


二. Mac下apollo安装

1.下载

apollo下载以及源代码下载


2.解压


3. 添加环境变量

APOLLO_HOME=解压目录


4. 新建broker目录,最好不要跟APOLLO_HOME一致,便于以后升级


5. 创建broker

1
2
3
1. cd broker目录
 
2. ${APOLLO_HOME}/bin/apollo create mybroker

注意windows下命令可能不同,应该可以直接把apollo.bat拖过来执行。

执行完之后,应该会提示怎么运行:

1
2
3
4
5
6
You can now start the broker by executing:
"/Users/huangrongwei/Documents/1_work_project/apache_apollo/apollo_broker/mybroker/bin/apollo-broker" run
 
Or you can run the broker in the background using:
 
"/Users/huangrongwei/Documents/1_work_project/apache_apollo/apollo_broker/mybroker/bin/apollo-broker-service" start


6. 运行broker

按照上面的提示,选择一个运行。第一个是前台运行,就是会占用你的命令行,不会退出。

下面一个命令是后台运行。


7.查看apollo进程

1
ps -elf | grep apollo

结果如下;

1
501  5418  5361     400e   0  31  0  5048532 125212 -      S+                  0 ttys006    2:00.45 apollo -ea -serv  1:27下午


8. 浏览器查看结果

1
http://127.0.0.1:61680/ 或者 https://127.0.0.1:61681/

第一个是http的,后面一个是https的。

默认登录的用户名是admin/password,这样就可以看到apollo的管理界面。


三. 客户端测试apollo

在apollo的解压文件夹里面有个example文件夹,里面有个mqtt->java

用eclipse导入这个maven工程(eclipse->file->import->maven project),注意可能需要安装maven eclipse插件


然后里面有个Listener.java和Publisher.java,可以订阅和发布消息。直接右击->Run as java application启动起来。

然后看输出结果。

Listener.java最后会输入下面的消息。表示1万条消息接受花费了0.93秒

1
2
3
4
5
6
7
8
9
10
11
Received 0 messages.
Received 1000 messages.
Received 2000 messages.
Received 3000 messages.
Received 4000 messages.
Received 5000 messages.
Received 6000 messages.
Received 7000 messages.
Received 8000 messages.
Received 9000 messages.
Received 10000 in 0.93 seconds


四. 其他

1. curl访问apollo

1
curl -u "admin:password" http://localhost:61680/broker.json

结果{"id":"default","state":"STARTED","state_since":1499318856654,"version":"1.7.1","home_location":"/Users/huangrongwei/Documents/1_work_project/apache_apollo/apache-apollo-1.7.1","base_location":"/Users/huangrongwei/Documents/1_work_project/apache_apollo/apollo_broker/mybroker","jvm_metrics":{"heap_memory":{"used":23072848,"alloc":79691776,"max":954728448},"non_heap_memory":{"used":71784880,"alloc":74203136,"max":-1},"classes_loaded":7893,"classes_unloaded":0,"threads_current":27,"threads_peak":32,"os_arch":"x86_64","os_name":"Mac OS X 10.12.4","os_memory_total":8589934592,"os_memory_free":60743680,"os_swap_total":0,"os_swap_free":1073741824,"os_fd_open":135,"os_fd_max":6250,"os_load_average":2.90869140625,"os_cpu_time":128597245000,"os_processors":4,"runtime_name":"5418@huangrongweideMacBook-Pro.local","jvm_name":"Java HotSpot(TM) 64-Bit Server VM 1.8.0_131 (Oracle Corporation)","uptime":14200613,"start_time":1499318843487},"current_time":1499333764968,"virtual_hosts":["mybroker"],"connectors":["tcp","tls","ws","wss"],"connection_counter":16,"connected":0,"messages_sent":80008,"messages_received":70007,"read_counter":19251413,"write_counter":22040503}



2. mqtt协议内容

http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#fixed-header





     本文转自rongwei84n 51CTO博客,原文链接:http://blog.51cto.com/483181/1944976,如需转载请自行联系原作者



相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
8月前
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联基于 Apache RocketMQ + MQTT 构筑高可用物联网消息中枢
易易互联科技有限公司是吉利集团旗下专注于换电生态的全资子公司,致力于打造安全、便捷、便宜的智能换电网络。公司依托吉利GBRC换电平台,基于电池共享与车辆全生命周期运营,已布局超470座换电站,覆盖40多个城市,计划2027年达2000座。面对海量设备高并发连接、高实时性要求及数据洪峰挑战,易易互联采用阿里云MQTT与RocketMQ构建高效物联网通信架构,实现稳定接入、低延迟通信与弹性处理,全面支撑其全国换电网络规模化运营与智能化升级。
483 1
海量接入、毫秒响应:易易互联基于 Apache RocketMQ + MQTT 构筑高可用物联网消息中枢
|
11月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
679 18
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
1905 91
|
10月前
|
物联网 Linux 开发者
快速部署自己私有MQTT-Broker-下载安装到运行不到一分钟,快速简单且易于集成到自己项目中
本文给物联网开发的朋友推荐的是GMQT,让物联网开发者快速拥有合适自己的MQTT-Broker,本文从下载程序到安装部署手把手教大家安装用上私有化MQTT服务器。
2158 5
|
消息中间件 Java 中间件
RocketMQ实战—2.RocketMQ集群生产部署
本文主要介绍了大纲什么是消息中间件、消息中间件的技术选型、RocketMQ的架构原理和使用方式、消息中间件路由中心的架构原理、Broker的主从架构原理、高可用的消息中间件生产部署架构、部署一个小规模的RocketMQ集群进行压测、如何对RocketMQ集群进行可视化的监控和管理、进行OS内核参数和JVM参数的调整、如何对小规模RocketMQ集群进行压测、消息中间件集群生产部署规划梳理。
RocketMQ实战—2.RocketMQ集群生产部署
|
消息中间件 编解码 Docker
Docker部署RabbitMQ消息中间件
【7月更文挑战第4天】Docker部署RabbitMQ消息中间件
594 3
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
930 2
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
406 6
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo

推荐镜像

更多