CloudHub概述
CloudHub
CloudHub是cloudcore的一个模块,是Controller和Edge端之间的中转。它同时支持基于websocket的连接以及QUIC协议访问。Edgehub可以选择一种协议来访问cloudhub。CloudHub的功能是启用边端与控制器之间的通信。
到边端的连接(通过EdgeHub模块)是通过websocket连接上的HTTP完成的。对于内部通讯,它直接与控制器通讯。发送到CloudHub的所有请求都是上下文对象,它们与标记为它的nodeID的事件对象的映射通道一起存储在channelQ中。
CloudHub执行的主要功能是:
• 获取消息上下文并为事件创建ChannelQ
• 通过WebSocket创建HTTP连接
• 服务websocket连接
• 从边端读取消息
• 写消息到边端
• 将消息发布到控制器
获取消息上下文并为事件创建ChannelQ:
上下文对象存储在channelQ中。对于所有nodeID,将创建通道并将消息转换为事件对象,然后将事件对象通过通道传递。
通过websocket创建http连接:
• TLS证书通过上下文对象中提供的路径加载
• HTTP服务器以TLS配置启动
• 然后将HTTP连接升级为接收conn对象的websocket连接。
• ServeConn函数可服务所有传入连接
从边端读取消息:
• 首先,为保持活动间隔设置最后期限
• 然后读取来自连接的JSON消息
• 设置完消息路由器详细信息之后
• 然后将消息转换为事件对象以进行云内部通信
• 最后,事件被发布给控制器
将消息写到Edge:
• 首先,为给定的nodeID接收所有事件对象
• 检查相同请求的存在和节点的活动性
• 事件对象转换为消息结构
• 设置写截止时间。然后消息传递到websocket连接
向控制器发布消息:
• 每次向Websocket连接发出请求时,带有时间戳,clientID和事件类型的默认消息都会发送到控制器
• 如果节点断开连接,则会引发错误,并将描述节点故障的事件发布到控制器。
用法
可以通过以下三种方式配置CloudHub:
• 仅启动websocket服务器:查看详细信息。
• 仅启动quic服务器:查看详细信息。
• 同时启动websocket和quic服务器:查看详细信息

CloudHub概述相关推荐

  1. Java 多线程概述

    多线程技术概述 1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间. 线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换.并发执行,一个进程最少有一个线程, ...

  2. 【SpringMVC】概述

    概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的.                       理解是servlet的一个升级 Sp ...

  3. 梯度下降优化算法概述

    本文原文是 An overview of gradient descent optimization algorithms,同时作者也在 arXiv 上发了一篇同样内容的 论文. 本文结合了两者来翻译 ...

  4. Redis概述和基础

    Redis 1.NoSQL NoSQL = Not Only SQL(不仅仅是SQL) 泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的 ...

  5. OpenCL™(开放计算语言)概述

    OpenCL™(开放计算语言)概述 异构系统并行编程的开准 OpenCL™(开放计算语言)是一种开放的.免版税的标准,用于对超级计算机.云服务器.个人计算机.移动设备和嵌入式平台中的,各种加速器进行跨 ...

  6. 自动驾驶QNX,Linux,Autosar概述

    自动驾驶QNX,Linux,Autosar概述 QNX是一个分布式.嵌入式.可规模扩展的实时操作系统.遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具).部分遵循POSIX.1b( ...

  7. Tengine MLOps概述

    Tengine MLOps概述 大幅提高产业应用从云向边缘迁移的效率 MLOps Cloud Native 聚焦于提升云端的运营过程效率 MLOps Edge Native 聚焦于解决边缘应用开发及异 ...

  8. Tengine Web服务器概述

    Tengine Web服务器概述 Tengine是由淘宝网发起的Web服务器项目.在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.目的是打造一个高效.安全的Web平台. 发展 ...

  9. Docker基本原理概述

    Docker基本原理概述 Docker是一个用于开发,交付和运行应用程序的开放平台.Docker能够将应用程序与基础架构分开,从而可以快速交付软件.借助Docker,可以以与管理应用程序相同的方式来管 ...

最新文章

  1. LPC1768基本输入输出GPIO使用
  2. css的repaint和reflow
  3. java 加解密api_API加密框架原理解密
  4. jQuery:收集一些基于jQuery框架开发的控件/jquery插件2
  5. setDrawingCacheEnabled(boolean flag)
  6. [ACM] hdu 1228 A+B (字符串处理)
  7. Java黑皮书课后题第11章:11.3(Account类的子类)在编程练习题9.7中定义了一个Account类来对一个银行账户建模。一个账户有账号、余额、年利率、开户日期等属性,以及存款和取款等方法
  8. 百度语音识别rest html,delphi调用百度语音识别REST API(示例代码)
  9. 【今日CS 视觉论文速览】10 Jan 2019
  10. 计算机各种硬盘的规格,硬盘规格参数表大全
  11. C# 中关闭当前线程的四种方式 .
  12. 关于微信拼车小程序开发的需求分析(需求获取)
  13. 计算机管理 网络连接服务,WZC服务未开启无法连接网络 解决方法及步骤
  14. 联想g510拆键盘的简单方法_联想G510重点笔记本拆机教程.doc
  15. Python爬取手机号码前7位号段归属地及运营商
  16. 记一个用PyPDF2裁剪pdf文件并用latex插入后出现大量空白的问题
  17. (跨模态)AI作画——使用stable-diffusion生成图片
  18. BIOS实战之Super IO-Smart Fan
  19. 什么是RST包,什么是三次握手,什么是四次握手 ---请进
  20. 达梦数据库-部署及日常工具使用

热门文章

  1. 微信公众号为指定openid用户推送消息
  2. 快速排序的递归和非递归实现 c语言版本
  3. debian10 ftp简单搭建
  4. log4j屏蔽掉某个包下的log日志打印
  5. 数据类型转换pytorch
  6. paddle一体安装
  7. dataframe构建
  8. GOF23设计模式(创建型模式)单例模式
  9. 自监督学习(Self-Supervised Learning)多篇论文解读(上)
  10. Linux crontab 命令基本说明