ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

thingsboard源码结构解析

2021-06-28 10:30:07  阅读:270  来源: 互联网

标签:服务 tb 源码 消息 thingsboard 解析 TB docker transport


以下是针对 v3.2.1版本

application: 应用程序主目录,整体项目打包时也是这个Module

    src/main/java/org.thingsboard.server: 项目主目录

        actors: actor执行者目录

        config: 配置类目录

        controller: 控制器,网页端等api控制器

        exception: 异常处理

        service: 服务目录,项目打包后,server要运行的服务的实现都在这里

           security: 安全相关服务

            script: 脚本执行服务,主要是规则引擎的执行(JS)

            transport: 消息传输服务

            rpc: 远程调用服务

        utils: 工具类

common: 公共工具集、方法集模块

    actor:actor反应相关

    dao-api: 数据访问对象的服务接口,在这里做定义

    data: 用于不同数据库之间的中间数据结构

    message: 消息服务的实现集,包括集群消息、TB的基础服务消息、系统类消息

    queue: 队列服务的实现集,用的Kafka

    transport: 消息传输通道服务的实现,定义公共接口,给客户端的transport层使用

        coap: CoAP消息传输Handler,包括适配器和客户端

        http: HTTP消息传输Handler

        mqtt: MQTT消息传输Handler,包括适配器、会话、SSL工具等

        transport-api : 具体的实现

    util: 工具集(当前仅有一个异步回调工具)

dao: 数据访问对象集合,整个应用的DAO层,一般只要dao的都要data,以实现不同数据库数据结构兼容。

docker: 集群部署-docker容器解决方案,包含了部署环境和shell脚本

    haproxy: HAproxy工具的配置文件存放处

    tb-node: 应用程序节点配置存放目录

    tb-transports: 消息传输服务的配置文件,包括coap,http,mqtt

img: 应用图标存放处

k8s: 容器编排工具Kubernetes的配置文件和自动化脚本

msa: 微服务半自动构建模块,包含了黑盒测试、js执行引擎等

    black-box-tests: 黑盒测试工具

    js-excutor: js执行引擎,基于nodejs,用于执行规则引擎中的js代码(沙盒执行)

    tb: tb主应用程序docker配置

    tb-node: tb程序节点配置,基于docker

    transport: docker中的消息传输服务的部署配置

    web-ui: TB的Web用户界面在docker中部署的配置,自带http server

netty-mqtt: TB的MQTT协议的实现,包括连接、发布、订阅、遗嘱、关闭等

rule-engine: TB的规则引擎,TB没有用开源的Drools等工具,而是自己开发了一套规则引擎,主要包含3个组件和1套服务接口

    rule-engine-api: 服务接口的实现

    rule-engine-components: 规则引擎组件,包含滤波器、动作、数据、脚本、延迟加载、消息、队列、RPC实现、邮件等

tools: 工具模块,主要实现了MQTT with SSL客户端和REST客户端。可以测试用。

transport: 三种消息传输服务启动器,服务的实现参考common/transport,mqtt协议的实现见netty-mqtt

ui: TB的用户界面,主要使用AngularJS和react组件,单页应用(要替换掉,用Vue)

标签:服务,tb,源码,消息,thingsboard,解析,TB,docker,transport
来源: https://blog.csdn.net/xiaoxiaovbb/article/details/118293630

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有