01、ThingsBoard-物联网技术栈介绍篇

1、概述

根据我这么多年对物联网的了解,以及以前一个腾讯的大佬给我们的技术分享,整理了一套物联网常用技术栈,以下的技术我以前就使用过了,恰好ThingsBoard也再使用;仅代表个人观点,请勿抬杠,也不要问我为什么要这样选用,具体情况请大家去了解之后就能明白啦,这里只是把技术栈罗列出来,不细讲,我俗称他们为九阴真经。

2、技术栈

下面我将整理出我总结的物联网技术栈,详细学习请大家去B站或者官网资料进行学习,我在这里就不过多的去描述啦。

Netty

描述:

Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

MQTT

官网地址:MQTT - The Standard for IoT Messaging

描述:

MQTT是一个基于客户端服务端的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。

ProtoBuf

官网地址:Protocol Buffers  |  Google Developers

描述:

Protocol buffers 提供了一种语言中立、平台中立、可扩展的机制,用于以向前兼容和向后兼容的方式序列化结构化数据。它类似于 JSON,只是它更小更快,并且它生成本地语言绑定。

gRPC

官网地址:What is gRPC? | gRPC

描述:

在 gRPC 中,客户端应用程序可以像本地对象一样直接调用不同机器上的服务器应用程序上的方法,使您可以更轻松地创建分布式应用程序和服务。与许多 RPC 系统一样,gRPC 是基于定义服务的想法,指定可以使用其参数和返回类型远程调用的方法。在服务端,服务端实现了这个接口,运行一个gRPC服务端来处理客户端调用。在客户端,客户端有一个存根(在某些语言中简称为客户端),它提供与服务器相同的方法。基本上gRPC和Protocol buffers是配合起来使用的,都是Google开源的产品,个人觉得性能非常强。

01、ThingsBoard-物联网技术栈介绍篇_第1张图片

Redis

官网地址:Redis

描述:

Redis 是一种开源(BSD 许可)内存数据结构存储,用作数据库、缓存、消息代理和流引擎

Kafka

官网地址:https://kafka.apache.org/

描述:

Apache Kafka 是一个开源分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型应用程序。

PostgreSQL

官网地址:PostgreSQL: The world's most advanced open source database

描述:

PostgreSQL 是一个功能强大的开源对象关系数据库系统,物联网基本上都是使用PG,因为在最开始就很完美的支持GIS,而且还要对于经纬度计算的相关函数。

注意:

切记不要去追版本,目前版本最高15,太新了,而且只有看官网的资料,如果出现问题你想在博客上找资料,那真的太少了,我目前使用的都是12。

Cassandra

官网地址:Apache Cassandra | Apache Cassandra Documentation

描述:

Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。

Guava

官网地址:GitHub - google/guava: Google core libraries for Java

描述:

Guava 是一套来自 Google 的核心 Java 库,其中包括新的集合类型(如 multimap 和 multiset)、不可变的集合、图库,以及并发、I/O、散列、缓存、基元、字符串等实用工具!它被广泛用于 Google 内部的大多数 Java 项目,也被许多其他公司广泛使用。它被广泛用于 Google 内部的大多数 Java 项目,也被许多其他公司广泛使用。

3、建议

多去看看开源技术,先搞懂它是什么,如何使用,最后研究原理,可以参考一些视频入门,在慢慢查资料了解底层原理。欢迎加扣群594880091

你可能感兴趣的:(java)