searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

DTM原理剖析(一)

2023-10-07 14:24:20
28
0

0x01 DTM源码的构成

DTM的源码构成主要包含两个库,分别是client和dtmsvr,值得说明的是DTM是使用Go语言开发的,其自带的客户端使用的也是Go来编写的,如果需要阅读其它语言的客户端代码,可以参考DTM官网中给出的不同语言的客户端实现。下面简单介绍一个DTM代码库中各个文件夹主要的内容:

  1. admin:前端后台管理。
  2. charts:部署和管理 Kubernetes 应用程序。
  3. client:DTM的Go客户端,主要是由workflow、dtmcli、dtmgrpc三个构成。
  4. dtmsvr:DTM的服务端。
  5. dtmutil:工具类。

0x02 DTM的启动过程

第一步:调用entry包的Main函数,传入的version是一个string类型,标识版本信息。

第二步:解析命令行参数,并执行相应的操作。

第三步:加载配置文件,先从环境变量里面获取,如果设定了配置文件则从配置文件中获取。

第四步:初始化存储并等待初始化成功。

第五步:启动服务。

0条评论
0 / 1000
瑞te尼尔
4文章数
0粉丝数
瑞te尼尔
4 文章 | 0 粉丝
瑞te尼尔
4文章数
0粉丝数
瑞te尼尔
4 文章 | 0 粉丝
原创

DTM原理剖析(一)

2023-10-07 14:24:20
28
0

0x01 DTM源码的构成

DTM的源码构成主要包含两个库,分别是client和dtmsvr,值得说明的是DTM是使用Go语言开发的,其自带的客户端使用的也是Go来编写的,如果需要阅读其它语言的客户端代码,可以参考DTM官网中给出的不同语言的客户端实现。下面简单介绍一个DTM代码库中各个文件夹主要的内容:

  1. admin:前端后台管理。
  2. charts:部署和管理 Kubernetes 应用程序。
  3. client:DTM的Go客户端,主要是由workflow、dtmcli、dtmgrpc三个构成。
  4. dtmsvr:DTM的服务端。
  5. dtmutil:工具类。

0x02 DTM的启动过程

第一步:调用entry包的Main函数,传入的version是一个string类型,标识版本信息。

第二步:解析命令行参数,并执行相应的操作。

第三步:加载配置文件,先从环境变量里面获取,如果设定了配置文件则从配置文件中获取。

第四步:初始化存储并等待初始化成功。

第五步:启动服务。

文章来自个人专栏
GO
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0