| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 网络协议 -> TDengine容器化部署的最佳实践 -> 正文阅读 |
|
|
[网络协议]TDengine容器化部署的最佳实践 |
|
作者:涛思数据|肖波 随着容器化的流行,越来越多的项目采取了容器化方案来设计架构、实施部署。 作为时序数据引擎核心的TDengine,在部署时一般建议采用FQDN(Fully Qualified Domain Name,完全限定域名)来进行节点之间的通信。很多客户在进行容器化架构设计时,通信方式均采用IP地址寻址,而且由于这些容器的IP、容器名(也就是hostname)会随着容器的生命周期变化而变化,这就给TDengine采用hostname作为FQDN寻址进行通信带来了困难。 本文将结合实际,尝试给出一最佳实践建议,以实现以下两个需求:
假设TDengine集群由两个节点组成,IP分别为172.16.31.1和172.16.31.2。 在深入之前,希望读者先对TDengine的整体架构有所了解,可以参考TDengine技术文档。 我们再来强调TDengine中的几个概念:
客户端初始化的基本流程是:应用通过taosc原生接口访问TDengine,需要通过firstEP找到集群,获取到集群的元数据(meta-data),也就是集群所有节点列表(FQDN 或 IP列表)。客户端驱动一旦获得列表后,即可按列表与集群对应的节点进行通信了。默认的通信方式是:15K以下的数据走UDP协议,15K以上的走TCP协议。 理解了以上流程,我们就可以利用负载均衡器LoadBalancer的相关特点帮助我们实现去hostname的容器化部署了。当然,本方案也同样可以用在非容器化部署,但希望采用IP地址部署TDengine的场景。?
?在这个方案里,firstEP指向LoadBalancer的域名及对应的端口(默认为6030)。我们假设LoadBalancer的域名是lb.taosdata.com。TDengine集群节点寻址采用IP地址作为FQDN:172.16.31.1/172.16.31.2。 应用通过客户端驱动去连接firstEP:lb.taosdata.com:6030。LoadBalancer收到请求后,根据预先设定好的负载均衡策略,将请求转发给预设的TDengine节点——172.16.31.1:6030 或 172.16.31.2:6030,收到该消息的节点将meta-data消息原路返回给请求者(如当前节点不是mnode主节点,会触发重定向,后续流程类似),最终应用/客户端应用驱动刷新获得了meta-data列表。 之后,应用需要建立与集群任一节点的通信时,无需通过LoadBalancer,将直接通过已获得的IP列表发起连接,实现通信。
?最后一点,也是最重要的一点:如果完成以上步骤不能成功通信,那么有可能是您的LB不支持UDP,或UDP丢包率过高导致。解决方法很简单,打开所有节点(包括所有客户端和服务端)的rpcForceTCP开关,将所有发起的通信转为TCP通信而不再采用UDP通信,确保穿透LoadBalancer的通信均走TCP实现。 活动推荐
? |
|
|
| 网络协议 最新文章 |
| 使用Easyswoole 搭建简单的Websoket服务 |
| 常见的数据通信方式有哪些? |
| Openssl 1024bit RSA算法---公私钥获取和处 |
| HTTPS协议的密钥交换流程 |
| 《小白WEB安全入门》03. 漏洞篇 |
| HttpRunner4.x 安装与使用 |
| 2021-07-04 |
| 手写RPC学习笔记 |
| K8S高可用版本部署 |
| mySQL计算IP地址范围 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/23 0:13:32- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |