Postgres Transmitter 用於接收 GRAVITY 資料節點的資料,並即時寫入 PostgreSQL 資料庫系統。
若要安裝 PostgreSQL Transmitter,可以準備一個部署容器的 YAML 檔案(transmitter.yaml)包括所有的相關設定,如下:
然後執行以下命令:
若要設定 PostgreSQL 資料傳輸器(Transmitter),可以藉由代入環境變數(Environment Variable)來達成,以下將對傳輸器所支援的組態參數進行詳細說明。
GRAVITY_TRANSMITTER_POSTGRES_ + ❮參數名稱❯
這裡是所有關於 GRAVITY 的相關參數,用於讓資料傳輸器連接上資料節點,並註冊成為合法的資料接收端。
參數 | 資料型態 | 預設值 | 說明 |
---|---|---|---|
GRAVITY.HOST | 字串 | 目標 GRAVITY 之完整連線資訊(172.17.0.1:4222) | |
GRAVITY.DOMAIN | 字串 | gravity | 指定目標 GRAVITY 資料節點之 Domain |
SUBSCRIBER.SUBSCRIBER_ID | 字串 | postgres_transmitter | 指定資料傳輸器在資料節點上的唯一識別 ID |
SUBSCRIBER.SUBSCRIBER_NAME | 字串 | PostgreSQL Transmitter | 指定資料傳輸器的顯示名稱 |
這裡是所有關於資料庫的參數,用於讓資料傳輸器連接上目標資料庫。
參數 | 資料型態 | 預設值 | 說明 |
---|---|---|---|
DATABASE.HOST | 字串 | 目標資料庫主機位置 | |
DATABASE.PORT | 整數 | 目標資料庫埠號 | |
DATABASE.SECURE | 布林值 | false | 是否啟用加密連線 |
DATABASE.USERNANE | 字串 | 資料庫連線帳號 | |
DATABASE.PASSWORD | 字串 | 資料庫連線密碼 | |
DATABASE.DBNAME | 字串 | 資料庫名稱 |
這裡是所有關於資料傳輸器的進階設定。
參數 | 資料型態 | 預設值 | 說明 |
---|---|---|---|
SUBSCRIBER.VERBOSE | 布林值 | false | 是否顯示完整除錯訊息 |
SUBSCRIBER.PIPELINE_START | 整數 | 0 | 指定接收範圍的起始管線,不得大於最終管線的數值。通常資料節點會將資料做分區處理,分為多個管線進行推送,我們可以指定要接收特定範圍的管線資料,實現資料分片(Sharding)或部分資料處理的需求。 |
SUBSCRIBER.PIPELINE_END | 整數 | -1 | 指定接受範圍的最終管線,若設定 -1 為起始管線之後的所有管線。 |
INITIAL_LOAD.ENABLED | 布林值 | true | 是否啟用初始載入機制 |
INITIAL_LOAD.OMITTED_COUNT | 整數 | 100000 | 指定與資料節點落差筆數。當因為系統異常、網路異常而導致資料落差過大時,會以初始化載入機制(Initial Load)重建目標資料庫。 |
GRAVITY 資料節點有多個資料集可供訂閱,透過設定 GRAVITY_TRANSMITTER_POSTGRES_SUBSCRIPTION_SETTINGS 環境變數,可以指定要訂閱的資料集名稱。資料傳輸器會依據設定,從指定的資料集(Collection)中獲取資料,然後寫入到目標資料庫的資料表(Table)。
以下設定格式用於表示資料集和對應資料表的關係: