【TDengine 使用环境】
预生产环境
【TDengine 版本】
3.3.7.0
【操作系统以及版本】
国产arm
【部署方式】
非容器部署
【遇到的问题:问题现象及影响】
TDengine三副本集群模式,为兼容influxdb行协议写入,taosadapter也需要在三台物理机部署吗,如果客户端只访问一个taosadapter,三副本集群的故障能否通过taosadapter来无感知处理?每个taosadapter是链接tdengine的整个集群吗?客户端如果做故障切换检测,若同时连接三台taosadapter来访问tdengine三副本集群,是否访问任意一台taosadapter都能对整个集群三个节点都查询或者写入,其中集群若故障切换对taosadapter是否也是无感知?
是的。每个taosadapter都是独立的服务,都会连接整个集群中的 taosd 服务。
最好是在 taosadapter前面配置 负载均衡,这样业务只需要配置访问 负载均衡地址即可。
如果没有负载均衡,我们的 连接器驱动,支持配置多个 地址,会自动感知 taosadapter的状态,会自动剔除故障的 taosadapter。
而 taosadapter 连接整个集群的taosd,动态感知其状态的。
好的感谢,还有三个问题想问下您
1.taosadapter是开源版和企业版都具备的吗?taosadapter兼容influxdb行协议这个功能开源版也有吗?还是企业版
2.如果说不在taosadapter前面做负载均衡,客户端服务轮询三副本tdengine集群模式下每台物理机的taosadapter,是不是也可以呢。如果第一个taosadapter故障了,那么客户端服务切换为第二台机器的taosadapter,以此类推;因为无论任何一台机器的taosadapter都能够访问tdengine三副本(并且tdengine三副本在故障切换的时候对taosadapter是都能感知的)。
3.您说的这个连接器驱动是什么呢?在哪里可以看到
1、开源版也支持;
2、当然可以,这样就是相当于客户端服务自己实现了故障切换。所以我们实现了可以配置多个 taosadapter的地址,不用客户端服务自己来处理了。
3、就是各种语言的驱动。在TDengine 官网文档中都有描述。