iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
Software Development

用30天介紹 open source 專案 Ohara 系列 第 2

Day2 簡單介紹 Ohara 整體功能和架構

Ohara 是 OharaStream 其中一個最具核心的一部份,主要是使用 Scala 和 Java 程式語言開發,希望能做出一個 Stream Processing 的平台。以下是 Ohara 提供的主要功能:

Workspace: Ohara 提供的 Workerspace 的功能可以方便讓使用者透過 UI 的方式,就可以把 Apache Zookeeper、Apache Kafka Broker 和 Apache Kafka Connector 的服務部署成一個叢集或多個叢集 (cluster)。

Pipeline Graph: 使用 UI 的方式就可以把所需要的 Pipeline 資料流建立出來,使用者盡量就可以不用使用寫程式的方式,就可以把資料從來源端取出來然後經過轉換之後再寫入到目的端。

StreamApp: 轉換資料的一個程式,例如小寫轉大寫、過濾需要哪些資料,另外還有提供一些簡單的 Aggregate 的功能來計算資料。

Restful API: 如果使用者不想透過 UI 來建立 Workspace 和 Pipeline, Ohara 另外也有提供 Restful API 的方式來建立叢集的服務和 Pipeline 資料流,這個功能比較適合開發者來使用。

下圖是 Ohara 整個系統的架構:
https://ithelp.ithome.com.tw/upload/images/20190917/20103456UGhjBNrVWM.png

以下分別介紹上圖每一個元件所代表的功能的意義:
Ohara Manager: 主要提供前端 UI 的服務讓使用者可以透過 Browser 就可以建立 Zookeeper、Broker 和 Woker 的 cluster 並且使用 UI 來建立資料流的 Pipeline,讓使用者的操作更加方便,就是以上所說的 Workspace 和 Pipeline Graph 的功能。

Ohara Configurator: 是介於前端和後端之間的橋樑,主要提供 Restful API 給前端使用,並且會連到後端的 Ohara Agent 做 cluster 和 pipeline 的執行,對應到上面所介紹的 Restful API 的功能。

Ohara Agent: 用來實際執行 Workspace 的功能,像是 Zookeeper、Broker, Worker, Streamapp 和 Shabondi 的 cluster 新增或是刪除的動作。Ohara 的 Zookeeper、Broker、Worker、Streamapp 和 Shabondi 的服務底層是使用 Docker Container 的方是來啟動,然後使用 SSH 或是 Kubernetes 的模式來建立 Cluster,因此在啟動 Ohara Configurator Service 會提供參數給使用者指定要使用 SSH 或是 K8S 模式,如果沒有指定預設是使用 SSH 的模式,在 Ohara Quickstart 的 VM 預設也是使用 SSH 的模式。

Zookeeper Cluster: 它是由 Apache Zookeeper Service 組合而成的 cluster,主要提供給 Kafka Broker Service 使用。

Broker、Worker、StreamApp Cluster: 這三個 Cluster 都是使用 Apache Kafka 所提供的服務建立出來的 Cluster,這三個 Cluster 也就是 Ohara Pipeline 資料流底層使用最核心的服務。

Shabondi Cluster: 這是未來規劃要做的功能。主要提供使用者使用 Http 的方法就可以將原始資料送入 Ohara 的 Pipeline 資料流裡,增加使用者建立資料的方便性。

以上簡單介紹 Ohara 的元件主要目的是,在之後安裝 Ohara 時才會了解啟動服務所代表的意義和目的, Ohara 還有其它的元件在之後也會再做介紹。


上一篇
Day 1 介紹 Ohara 是什麼
下一篇
Day 3 簡單介紹 Ohara Pipeline 資料流
系列文
用30天介紹 open source 專案 Ohara 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言