iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 17
0

昨天已經介紹了要如何的把 Ohara 程式碼拉回到本機進行 Build 的動作以及匯入到 Intellij IDE 進行開發。今天主要會介紹 ohara 的資料夾下面的每一個資料夾或是模組所代表的意義為何,這樣在未來製作新功能才會知道,程式碼應該要寫在哪一個模組會比較適合。

說明如下:

docker 資料夾: 主要用來放 Build Docker Image 的檔案,如:build configurator 的 docker file、 build manager 的 docker file、build zookeeper 的 docker file、build broker 的 docker file、 build worker 的 docker file、build streamapp 的 dcoker file …等等的檔案。關於要如何 build docker image 的部份明天還會再做介紹。

kubernetes 資料夾: 用來放安裝 Kubernetes master 和 slave 的 shell script 以及註冊 Kubernetes DNS Service 的檔案。

docs 資料夾: 用來放所有 Ohara 文件的資料夾,目前 Ohara 是使 rst 的格式來撰寫的。

ohara-agent 模組: Ohara 有定義一個 Collie 介面,主要的目的是用來管理一群的 Node 或是服務的介面。目前 Ohara 有實作 SSH 和 Kubernetes 管理 Cluster 的 container 服務,就是實作 Collie 的介面。

ohara-client 模組: 用來定義 Configuator 會使用到的 API 物件、Request JSON 物件的轉換以及實作一些 Client API。

ohara-common 模組: 用來定義 Ohara 會使用到有關於存放資料的物件,如:Cell、Column、Row… 等等格式的資料物件,另外也會放一些常會使用到的通用方法,例如:CommonUtils 的 class 就會放一些,像是可以取哪些 Port Number 可以使用、建立 temp folder 的方法、產生亂數的字串或是數字…等等的方法。

ohara-configurator 模組: 主要用來實作 ohara configurator 服務的模組,目前 Configurator 是使用 AKKA Http 來實作。主程要的程式進入點在 Configurator 的 object 裡。

ohara-connector 模組: 用來實作 ohara connector 程式的模組,目前 Ohara 官方支援的 connector 有 ftp source 和 sink connector、hdfs sink connector、jdbc source connector、perf connector。

ohara-it 模組: 用來放 Ohara 整合測試的模組,目前的整合測試主要有測試 cluster 的部份會連到真實的環境上透過 SSH 指令的方式或是 Kubernetes 建立 Cluster 的 container 服務,另外也會測試把 Connector 或是 StreamApp 部署到 cluster 的環境上測試資料流是否正確。

ohara-kafka 模組: Ohara 會把有關於用到 Kafka API 的部份包裝起來放在此模組裡,主要的目的是用隔離使用第三方元件所造成的污染以及未來處理相容性的問題範圍不會太大。

ohara-manager 模組: 主要用來實作前端程式碼的模組

ohara-metrics 模組: 目前主要用來收集有關於 Kafka metrics 相關資訊的模組

ohara-streams 模組: 用來 Stream App 的程式主要實作在此模組裡,如果對撰寫 StreamApp 程式有興趣可以參考以下的連結:
https://github.com/oharastream/ohara/blob/master/ohara-streams/src/test/java/com/island/ohara/streams/TestWordCountExample.java

Ohara-testing-util 模組: 在 ohara 的單元測試裡面會啟動 Zookeeper、Broker、Worker....等等的 MiniCluster 服務,能有效幫助開發者撰寫測試程式。關於 MiniCluster 的實作 class 就放在此模組裡。

今天已經介紹了 ohara 程式碼的每一個資料夾的用途了,這樣在閱讀程式碼時會比較好尋找。明天會介紹要如何 Build Ohara 的 Docker Image。


上一篇
Day 16 如何 Build Ohara 的程式碼
下一篇
Day 18 Build Ohara 的 Docker Image
系列文
用30天介紹 open source 專案 Ohara 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言