最近在做数据交互,涉及外网和内网的数据交互问题。因为数据的保密性,安全性,无法建立直达通道。提供了互联网前置机,内网前置机,开放指定端口用于数据互通,但数据库等默认,相似端口不允许开放。
数据的来源比较丰富,也有实时,离线数据等待互通。于是我们需要在前置机搭建数据抽取服务。考虑点如下:
1.数据源可能是myql,avro,接口,文本等等,分布在不同的服务器上,前置机只开放指定的端口用于数据抽取。
那么我们需要一台互联网服务器用于汇聚数据,与互联网前置机进行数据传输。考虑数据有实时和离线两种,我们可以部署flume+kafka用于实时数据抽取,部署datax用于离线数据抽取。
2.建立数据通道。
linux可以使用rinetd完成端口转发,window可以使用passport。实现端口的串联。
3.在编写flume的conf,datax的json,来完成数据抽取。
注:这种方法有较大的延时性,数据通道也不稳定。当然这种场景也很少出现。