一、ThingsBoard系统架构1.设备连接 支持MQTT、CoAP、HTTP(S)等协议,通过以上协议设备可以连接到信息网络,比如4G、5G。2.引擎规则 TingsBoardRuleEngine处理来自设备的信息,并触发称为插件的可配置模块。3.核心服务
分类:
其他好文 时间:
2019-10-18 17:28:29
阅读次数:
252
一、前言 个人感觉学习Flink其实最不应该错过的博文是Flink社区的博文系列,里面的文章是不会让人失望的。强烈安利:https://ververica.cn/developers-resources/。 本文是自己第一次尝试写源码阅读的文章,会努力将原理和源码实现流程结合起来。文中有几个点目前也 ...
分类:
其他好文 时间:
2019-10-15 09:54:49
阅读次数:
571
AbstractCollection是集合实现类的根抽象实现类,它实现了Collection接口,集合中的三个分支Set、List、Queue都是继承此类之后再进行各自实现的扩展,分别是AbstractSet、AbstractList、AbstractQueue。这三个分支有一些共同之处,需要用一些... ...
分类:
编程语言 时间:
2019-10-12 01:32:57
阅读次数:
90
一,背景 Redux在mobx之前出现,redux基于Elm, flux, Immutable.js 的思想对状态管理重新做了优化。 在项目中使用时,Redux对数据更新和管理,可以很容易扩展插件,中间件等。 二,redux提供的api 1,compose 对传入的函数进行从右往左的方式编译,函数的 ...
分类:
其他好文 时间:
2019-10-08 12:25:31
阅读次数:
89
前言 ZooKeeper对Zab协议的实现有自己的主备模型,即Leader和learner(Observer + Follower),有如下几种情况需要进行领导者的选举工作 情形1: 集群在启动的过程中,需要选举Leader 情形2: 集群正常启动后,leader因故障挂掉了,需要选举Leader ...
分类:
其他好文 时间:
2019-10-04 18:41:10
阅读次数:
104
入口 书接上篇博客中的ZK集群启动后完成数据的统一性恢复后, 来到启动ZkServer的逻辑,接下来的重点工作就是启动不同角色的对应的不同的处理器Processor 如上图查看 的继承图,三种不同的角色有不同的 的实现逻辑类 三者启动时,都将会来到 中的 方法中,源码如下, 但是,不同的角色针对 进 ...
分类:
其他好文 时间:
2019-10-03 17:42:54
阅读次数:
98
什么是数据一致性? 只有当服务端的ZK存在多台时,才会出现数据一致性的问题, 服务端存在多台服务器,他们被划分成了不同的角色,只有一台 Leader ,多台 Follower 和多台 Observer , 他们中的 任意一台都能响应客户端的读请求 ,任意一台也都能接收写请求, 不同的是,Follow ...
分类:
其他好文 时间:
2019-10-03 12:37:16
阅读次数:
89
程序的入口 "点击查看上图原文地址( zhaoyu_nb)" 初始化和启动总览 跟进 方法 , 这个方法中主要做了如下三件事 从 解析出配置文件的位置,创建 配置类对象(可以把这个对象理解成单个ZK server的配置对象),然后将配置文件中的内容加载进内存,并完成对java配置类的属性的赋值 开启 ...
分类:
其他好文 时间:
2019-10-02 14:23:09
阅读次数:
102
ArrayList也是我们开发过程中常用的集合之一,虽然实现原理比较简单,但是还是通过本文简单的介绍和分析下,底层是用Object数组实现的,下面直接进入正题。 一、 ArrayLis的默认构造函数说明 从上面的代码可以看出,当新建一个 ArrayList集合的时候,如果不指定容量,就是创建了一个容 ...
分类:
其他好文 时间:
2019-09-28 19:56:51
阅读次数:
69
HashMap是JDK提供的经典容器之一,最近刚好时间充裕,于是自己看了一遍hashMap的源码实现,不同版本的JDK,HashMap的实现方式有所不同,本文主要针对JDK1.8的源码进行分析,至于各版本实现方式的不同,本文不做讨论,下面直接开始。 一、hash函数分析 map的put方法,首先调用 ...
分类:
其他好文 时间:
2019-09-28 14:24:50
阅读次数:
89