从咖啡馆到世界,共赴下一个十年 |写在 EMQX 开源十周年

news2025/1/12 7:51:47

十年前,在 2012 年 12 月 17 日,源于个人对 Erlang、MQTT 和开源的热爱,EMQX 诞生于一家咖啡馆并作为开源项目在 GitHub 上发布了初次提交。十年后的今天,EMQX 已成长为 Erlang 生态中最具影响力的物联网开源基础软件项目,作为全球最具扩展性的 MQTT 消息服务器在物联网、工业互联网、车联网等行业的关键业务场景中发挥着重要作用。目前,来自全球 50 多个国家的 20000 余家企业用户,通过 EMQX 连接着超过 1 亿台物联网设备,为自己的物联网平台与应用提供数据支撑。

EMQX 诞生的咖啡馆

我们正处在一个快速变化的世界。在过去的十年里,开放源码逐渐主导了软件开发方式,使云计算蓬勃发展,并在商业机构中的认知度不断提升。2012 年,在 GitHub 上有 280 万开发者,一些公司主要使用开源项目来运行他们的网络服务。而如今,有超过 9400 万的开发者在使用 GitHub,超过 90% 的公司在通过开源项目构建企业应用、创造价值。「物联网」作为一个曾经只是概念性的趋势,也正成为各垂直行业以及未来数十年全球商业数字化转型的关键。

EMQX 成长的这十年也是 MQTT 和物联网飞速发展的十年。我们见证了物联网、工业互联网、车联网的大规模应用。MQTT 因其轻量高效和可扩展性,迅速成为物联网消息传输协议的事实标准,是构建物联网应用的最佳选择。

而在 EMQX 发布之初,MQTT 消息服务器是一个尚未被熟知和普及的基础软件。但彼时 EMQX 就明确了物联网 MQTT 消息服务器的清晰定位,最早实现了当时的主流物联网协议 MQTT 3.1 和 3.1.1 的兼容支持。

2012 年 12 月 17 日 EMQX 在 GitHub 发布的初次提交

2016 年,MQTT 正式成为 OASIS 的开放标准后,作为组织成员之一的 EMQ 团队积极参与了 MQTT 5.0 版本的开发和讨论。早在该版本规范草案还在草拟阶段时,EMQX 便已创新性地在产品开发中引入了共享订阅功能。

2018 年,EMQX 3.0 发布。这是全球首个完整支持最新协议规范的 MQTT 5.0 消息服务器。

2020 年,EMQX 4.0 发布。这一版本内置了强大的基于 SQL 的规则引擎,支持提取、过滤、转换从设备到云以及从云到设备的数百万物联网事件,简化了物联网数据处理的方式。

2022 年,随着下一个亿级连接的物联网时代的到来,EMQX 发布了具有颠覆性突破的 5.0 版本。EMQX 5.0 全球首个实现了单集群 1 亿 MQTT 并发连接,时延低至毫秒级,成为目前世界上最具扩展性的开源 MQTT 消息服务器。同时开创性地将 QUIC 协议引入 MQTT,推动下一代物联网标准协议的发展,探索物联网消息传输场景的新可能。

EMQX 5.0 1 亿 MQTT 连接测试结果

作为一个开源项目我们深知,如果没有全球社区用户的支持与贡献,EMQX 不会达成这样的成就。在过去的十年里,EMQX 深深根植于开源社区,与社区一同成长。EMQX 项目从开源社区中获得了超过 10K 的 star、2000 万+ 的下载量。在 GitHub 上 EMQX 的代码仓库中,有数千个 PR 被提交合并,数千个 issue 被提出和解决,这些来自社区用户的反馈与贡献,使得 EMQX 的功能愈发强大和完善,性能与可靠性持续提升。每月有超过 3 万个活跃的 EMQX 集群被部署在全球各类物联网场景。

深深受益于开源社区,我们也始终没有忘记开源初心,十年来一直坚持始于社区、回馈社区。EMQX 项目通过采用 RFC 流程 EMQX Improvement Proposals (EIP),让每一个来自社区的声音被听到、有回响;我们举办了 Demo Day、 Open Day 以及其他各类主题直播等数百场社区布道活动,帮助开发者更加深入地了解 EMQX 与物联网;我们也积极支持其他优秀开源项目与基金会的良性运营和蓬勃发展,赞助了 NNG 项目与 Erlang 生态系统基金会(EEF)、OASIS、LF Edge 基金会。我们以实际行动践行着「通过世界级开源软件产品,服务人类未来产业与社会」的使命。

EMQX GitHub Star 历史

始于开源社区的 EMQX 同样也在赋能行业。随着 EMQX 开源项目逐渐在全球范围内被广泛采用,越来越多的企业用户在实际生产中提出了大规模部署和企业级功能需求。2017 年,EMQ 公司成立。国内诸多顶级投资机构对我们的技术与开源愿景给予了认可与支持,为公司的发展提供了巨大动力。EMQ 为企业用户提供了基于 EMQX 开源项目的商业化版本:企业级 MQTT 物联网接入平台 EMQX Enterprise 和全托管的 MQTT 消息云服务 EMQX Cloud。它们获得了包括 HPE、VMware、Verifone、上汽大众和爱立信等财富 500 强企业在内的 400 余家客户的信赖,助力这些企业在物联网关键业务场景中构建可靠平台与应用。

回望过去,EMQX 和所有社区贡献者、开源用户、商业客户以及投资机构共同走过了一段美好的十年旅程。是你们让 EMQX 成长为今天的 EMQX。上一个十年,我们共同见证了物联网与开源的日渐繁荣;下一个十年里,我们还将迎来开源理念更加深入人心的、更美好的万物互联时代。EMQ 将致力于把 EMQX 打造成为一个高性能、高可靠的开源物联网数据基础设施软件,作为值得信赖的技术伙伴和坚实后盾与所有用户站在一起,迎接一个开放、协作、创新的美好未来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java开发】Spring Cloud 02 :微服务项目介绍及开发环境

了解完 Spring Cloud 的发展背景以及各个组件库后,在敲代码前,本章节会聊一聊优惠券平台项目的整体功能和模块,以及每个功能点的技术选型和背后的依据,最后讲解下搭建项目所需的开发环境~ 目录 1 优惠券平台项目 1.1 项目介绍 …

[Linux安装软件详解系列]05 安装ElasticSearch和IK分词器

目录1、安装ElasticSearch2、安装IK分词器操作系统:Anolis OS 8.6 RHCK 64位、jdk1.8。ElasticSearch:v6.8.6下载文件: ElasticSearch v6.8.6: https://elastic.co/downloads/elasticsearch IK分词器 v6.8.6:https://g…

脚本-简单脚本

脚本执行顺序 默认脚本是无序执行,也就是哪个脚本先执行,哪个脚本后执行是未知的。 也可以手动指定执行顺序, 在如上图所示中,可以点击 加号 按钮,然后添加脚本的顺序,数值越大,执行顺序越靠后…

为什么团队执行力差,管理者应该如何解决?

没有执行力,一切都是空谈。团队执行力差可能是这些原因: 1、目标不明确,项目方向不清晰。 2、责任不清,不知道干啥,也不知道为什么而干。 3、技能不熟练,没有明确的完成标准。 4、分配任务,…

【JavaScript】飞机大战

文章目录一、效果演示设计思路二、鼠标版飞机大战代码展示1.HTML结构代码2.CSS样式代码3.JavaScript代码js.js文件plane.js文件三、键盘版飞机大战代码展示1.HTML结构代码2.CSS样式代码3.JavaScript代码四、代码资源分享一、效果演示 利用html,css,js制…

华为云服务器上部署war包(虚拟机也同样适用)

目录linux部署war包安装jdk关闭防火墙简单粗暴(推荐虚拟机使用)复杂但安全(推荐服务器使用)安装tomcat部署war包linux部署war包 安装jdk 执行命令查看可安装java版本 yum -y list java*执行命令安装jdk8 yum install -y java-…

12. 爬虫训练场项目,jinja2 模板继承,项目继续迭代

本篇博客我们将前端模板的通用部分进行抽离,便于整理管理,使用的是 jinja2 中模板继承相关技术。 文章目录Flask 模板引擎块(Block)更细的块拆解完善 general 目录和 school 目录 HTML 文件宏(Macro)Flask …

章节六:RASA NLU组件介绍--特征生成器

目录一、前言二、特征生成器MitieFeaturizerSpacyFeaturizerConveRTFeaturizerLanguageModelFeaturizerRegexFeaturizerCountVectorsFeaturizerLexicalSyntacticFeaturizer一、前言 RASA在处理对话时,整体流程是pipeline结构,自然语言理解(N…

SpringBoot操作Redis

目录 1.IDE创建一个maven项目 2、 添加redis启动器 3.修改配置文件application.properties 4.在测试类中测试 SpringBoot操作Hash(哈希) SpringBoot操作List集合类型 SpringBoot操作Set集合类型 SpringBoot操作ZSet集合类型 1.IDE创建一个maven项…

dubbo(尚硅谷)学习笔记2

我们现在来做dubbo和springboot整合: 我们先来创建一个springboot项目: 然后把serviceimpl层拷贝过来。 因为我们这个也需要用到公用接口和实体类,所以还是需要导入一下这个依赖: 同样的我们也需要创建一个服务的消费者&#xf…

设计模式之美总结(行为型篇)

title: 设计模式之美总结(行为型篇) date: 2022-12-26 17:25:29 tags: 设计模式 categories:设计模式 cover: https://cover.png feature: false 文章目录1. 观察者/发布订阅模式(Observer Design Pattern/Publish-Subscribe Design Pattern…

Unity2D像素游戏开发——Aseprite简单人物绘画+动画制作导出精灵表示例

目录 前言 什么是帧? 什么是Aseprite? 运行环境 正文 示例:绘制人物 制作多帧动画 微调 导出精灵表 总结 作品欣赏 附一个下载链接: 前言 什么是帧? 我们看到的动画都是由一张张图片连续播放而成的&#…

scipy

scipy.interpolate插值方法 import numpy as np def func(x, y):return x*(1-x)*np.cos(4*np.pi*x) * np.sin(4*np.pi*y**2)**2grid_x, grid_y np.mgrid[0:1:100j, 0:1:200j]rng np.random.default_rng() points rng.random((1000, 2)) values func(points[:,0], points[:…

高颜值蓝牙耳机有哪些?音质好颜值高的蓝牙耳机推荐

喜欢安静的人们,相信都会有一副蓝牙耳机吧,作为我们生活当中必不可少的数码产品,除了手机以外,蓝牙耳机几乎也是使用率很高的,它通过蓝牙连接,非常方便,下面是小编精心挑选的四款蓝牙耳机。 一…

告别“限速”,个人网盘进入云时代

配图来自Canva可画 在数字经济广泛渗透的条件下,个人网盘市场也得到了长足发展。而在5G和AI的加持下,个人网盘不断进行技术融合和迭代,云盘已然成为互联网用户以及智能设备存储的基本服务,而其应用场景也顺理成章地开始向各个细分…

window11 node.js 安装与下载

最近电脑莫名其妙的被一些恶意流氓软件捆绑了,今天我直接给恢复出厂设置了。顺便记录一下软件的安装步骤。 1. 先去官网下载 官网地址 ① 进入到官网后如下图所示 ②根据自己电脑选择合适的版本下载(我是wiindows 64位 ) ③ 双击安装包点击…

道路交通警示牌数据集以及训练好的YOLO模型权重文件

道路交通警示牌yolo模型1.交通标志数据集的介绍2.训练出权重文件1.交通标志数据集的介绍 交通标志(国外的交通标志)数据集是经过标注过的数据集,包括77个类别;标注类别如下: ‘200m’, ‘50-100m’, ‘Ahead-Left’, …

如何写好一份数据分析报告?

数据分析报表怎么做?这是一个很笼统的问题,所以这篇尝试从数据分析报表的3个方面来说下,准备了3天,内容较长,心急的小伙伴先看索引: 数据分析报表的原则数据分析报表的数据来源数据分析报表的可视化展示 0…

【按钮的两种状态 Objective-C语言】

一、继续上一篇文章的按钮案例 1.先说思路: 1)先把最上面的图片按钮实现了 我们拽1个按钮,给它一个背景图,加一个文字“点我啊” 当你鼠标按下去的时候,换成另1个背景图 当你鼠标按下去的时候,按钮的背景图变了,并且上面的文字也变了,变成“摸我干啥” 当你鼠标抬起…

Doris-集成其他系统(四)

目录0、准备1、Spark 读写 Doris1.1 准备 Spark 环境1.2 使用 Spark Doris Connector1.2.1 SQL 方式读写数据1.2.2 DataFrame 方式读写数据(batch)1.2.3 RDD 方式读取数据1.2.4 配置和字段类型映射1.3 使用 JDBC 的方式(不推荐)2、…