JetLinks是一个基于Java8的国产开源IoT企业级物联网平台,它集成了设备管理、数据安全通信、消息订阅、规则引擎等一系列物联网核心能力,为物联网设备提供了一个可扩展、易用的开源平台方案。

项目地址:jetlinks-community: JetLinks 基于Java8,Spring Boot 2.x ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议的设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统。demo: http://demo.jetlinks.cn test test123456icon-default.png?t=N7T8https://gitee.com/jetlinks/jetlinks-community

以下是关于JetLinks的详细介绍:

一、平台特点

  1. 多协议适配:JetLinks支持多种设备接入协议,包括TCP、MQTT、UDP、CoAP、HTTP等,并提供了丰富的协议库,可以灵活接入不同厂家、不同协议的设备。
  2. 数据处理功能强大:平台提供了基于ReactorQL、自定义脚本计算、规则引擎等强大的数据处理功能,能够实时处理和分析设备数据。
  3. 高性能表现:JetLinks支持私有化或容器化部署,支持横向拓展,具有极佳的性能表现。它能够支持千万级设备连接和百万级数据并发,同时全响应式非阻塞网络编程保证了极低的设备延迟。
  4. 丰富的可视化组件:JetLinks View可视化平台提供了丰富的业务组件和数据接入能力,包括图表、通用组件、素材图片、3D组件和自定义组件等,支持大屏展现、组态控制、3D数字孪生和报表统计可视化编辑。
  5. 灵活的规则引擎:JetLinks的规则引擎支持多种规则模型以及自定义规则模型,能够统一管理设备告警、消息通知、数据转发和场景联动等功能。

二、应用场景

JetLinks广泛应用于各种物联网应用场景,包括但不限于智慧城市、智慧工业、智慧工地、智慧桥隧等领域。它可以帮助企业快速构建物联网应用,提高业务效率和降低成本。

三、部署与扩展

JetLinks支持以单机、集群或微服务的方式部署在任意平台服务器上,支持云端和本地部署,用户可以根据实际情况进行灵活配置。同时,JetLinks采用模块化设计,用户可以根据需要选择所需功能模块,实现功能的灵活扩展。

vi docker-compose.yml
version: '2'
services:
  ... #省略其他服务,该示例仅演示配置应用服务
  jetlinks:
    image: registry.cn-shenzhen.aliyuncs.com/jetlinks/jetlinks-standalone:2.0.0-SNAPSHOT
    container_name: jetlinks-ce
    ports:
      - "8848:8848" # API端口
      - "1883-1890:1883-1890" # 预留
      - "8800-8810:8800-8810" # 预留
      - "5060-5061:5060-5061" # 预留
    volumes:
      - "./data/jetlinks:/application/static/upload"  # 持久化上传的文件
      - "./data/jetlinks/:/application/data/files"
      - "./data/jetlinks/:/application/data/protocols"
      - "./entrypoint.sh:/entrypoint.sh"
    #entrypoint: /entrypoint.sh -d redis:5601,postgres:5432,elasticsearch:9200 'echo "start jetlinks service here"';
    environment:
      - "JAVA_OPTS=-Duser.language=zh -XX:+UseG1GC"
      - "TZ=Asia/Shanghai"
      - "hsweb.file.upload.static-location=http://127.0.0.1:8848/upload"  #上传的静态文件访问根地址,为ui的地址.
      - "spring.r2dbc.url=r2dbc:postgresql://postgres:5432/jetlinks" #数据库连接地址
      - "spring.r2dbc.username=postgres"
      - "spring.r2dbc.password=jetlinks"
      - "spring.elasticsearch.uris=elasticsearch:9200"
      #        - "spring.elasticsearch.username=admin"
      #        - "spring.elasticsearch.password=admin"
      - "spring.reactor.debug-agent.enabled=false" #设置为false能提升性能
      - "spring.redis.host=redis"
      - "spring.redis.port=6379"
      - "file.manager.storage-base-path=/application/data/files"
      - "spring.redis.password=JetLinks@redis"
      - "logging.level.io.r2dbc=warn"
      - "logging.level.org.springframework.data=warn"
      - "logging.level.org.springframework=warn"
      - "logging.level.org.jetlinks=warn"
      - "logging.level.org.hswebframework=warn"
      - "logging.level.org.springframework.data.r2dbc.connectionfactory=warn"
      - "network.resources[0]=0.0.0.0:8800-8810/tcp"
      - "network.resources[1]=0.0.0.0:1883-1890"
    links:
      - redis:redis
      - postgres:postgres
      - elasticsearch:elasticsearch
    depends_on:
      - postgres
      - redis
      - elasticsearch
docker-compose pull && docker-compose up -d

四、社区与支持

JetLinks是一个开源项目,代码托管在GitHub上。该项目有一个活跃的社区,包括用户和开发人员。社区成员为该项目做出了很多贡献,并提供了技术支持和文档资料。用户可以通过社区获取帮助,解决在使用过程中遇到的问题。

五、总结

JetLinks作为一个国产开源的IoT企业级物联网平台,凭借其多协议适配、强大的数据处理功能、高性能表现、丰富的可视化组件以及灵活的规则引擎等特点,在物联网领域得到了广泛应用。它能够帮助企业快速构建物联网应用,提高业务效率和降低成本,是物联网开发者的理想选择。

更多推荐