CloudCanal 产品化之道
· 阅读需 7 分钟
前言
CloudCanal 是一款由ClouGence公司发行的集结构迁移、数据全量迁移/校验/订正、增量实时同步为一体的数据迁移同步平台。产品包含完整的产品化能力,助力企业打破数据孤岛、完成数据互融互通,从而更好的使用数据。CloudCanal社区版为免费版本,我们会持续地对其维护,请大家放心下载使用。如有兴趣使用请参考文章底部相关资料。
数据同步产品的透明化、可视化运维
数据同步产品是企业的基础设施产品,其透明化、可视化程度与产品的运维、使用效率息息相关。
透明化
透明化指产品内部本身对于用户来说不完全是一个黑盒子,产品内部核心构件以产品化的形式向用户透明,使得用户可以介入内部构件的管理,提供更加精细化的产品控制。
对于数据 同步这类基础设施产品,透明化会显得更为重要。数据同步产品由于用户的数据源、数据负载、数据处理需求、机器环境等差异,用户在实际使用、运维中往往需要有对产品更强的干预能力,从而更好的满足自身的场景需求。在数据同步领域,这类干预诉求主要体现在如下几个方面:
- 源、目标核心组件透明化:用户能够对源端的读取器和对端的写入器有更加精细的控制。例如对于源端可以配置限流、批大小、解析线程数等。
- 内部组件异常透明化:在私有部署的情况下,数据同步产品的数据源、机器等等都是用户添加的。场景本身的复杂性,不可避免的导致一些由于使用、配置不当而产生的异常。内部组件异常透明化,可以使得用户更加准确、及时的发现问题、解决问题。例如数据同步过程中,数据源突然下线,通过透明化的日志即可看到数据源Connection refused异常,这样,可以快速将问题原因锁定在数据源无法访问这点上。
- 运行时信息透明化:丰富的运行时信息能够使得出现问题时,提供更多诊断信息,快速定为问题原因。
可视化运维
可视化运维主要体现在产品功能各个维度的可视化成熟度。更高的可视化程度,会带来更好的易用性和产品体验。
CloudCanal透明化、可视化运维
核心组件透明可视化
CloudCanal核心组件主要包含:
- 控制台(Console): 管控进程,负责产品化能力
- Sidecar组件: 机器保姆进程,负责task和console之间信息转发以及task的可用性保障
- 任务内核(Task): 具体迁移、同步任务的执行
其中针对Console组件,其内部还包含以下组件:
- 异步任务工作流:数据同步任务的创建过程比较复杂,CloudCanal通过异步工作流来完成。
- 状态机:状态机主要负责任务状态的切换,主要是结构迁移、全量、增量之间的阶段切换
在CloudCanal中,这些核心组件对用户都是透明的,用户可以通过可视化的界面对这些内部组件进行精细化的控制。
Sidecar
在机器管理页面可以对Sidecar组件进行控制和检查,包含:
- 生命周期管理
- 远程日志查看
- 详细机器监控(点击圆盘可以进入详细)
Console
异步任务工作流
数据同步产品中任务创建是个复杂的流程,往往设计多个子任务。CloudCanal的console内置的异步任务工作流会按顺序执行子任务。针对失败的子任务,我们可以看到具体失败的步骤,以及错误信息,便于运维同学定位问题。
状态机
每个任务都有其关联的状态机,负责任务的阶段流转。状态的流转由条件触发器触发。