May 2021 - Present
Kaohsiung City, Taiwan・
Zhubei City, Hsinchu County, Taiwan 資料/軟體工程師 | Cloud Platform (2021.05 - Present)
訊息傳遞平台開發:
- 系統採用 Postgres DB、Redis、FastAPI、Supervisor 等技術,搭配 Mattermost 作為訊息傳遞工具與使用者介面,同時另有管理網頁,其所使用之 API 為 FastAPI 框架、Uvicorn、Gunicorn 開發的 RESTful API,並使用 docker-compose 進行開發與部署。另外,為了保證用戶於內外網均能順利訪問訊息平台,將系統架設於 DMZ,並透過 Nginx 架設 Https 服務,建置自訂登入頁面實作 Captcha 驗證功能。
- 開發三種服務類型:(已有超過 400 個服務上線使用中)
1. Direct Forward:直接轉發訊息,無需進行其他處理。
2. Delay Forward:延遲轉發訊息,可以指定延遲時間轉發。
3. Dead Notice:監控程式是否 alive 若無則推播訊息。
- 透過 Mattermost 元件的應用,實現對用戶發送的訊息進行客製化流程定義,使訊息能夠包含按鈕,並可針對按鈕定義執行的效果。滿足運維團隊能夠在手機上查看告警並即時接單的需求,凸顯系統的高度可定制性和應用彈性。
- 依據官方文件,對開源腳本進行修改,升級 Mattermost 以提升系統安全性 (v5 to v8)。同時也對 Mattermost 使用的 Postgres DB 進行版本升級 (v9 to v12)。
- 優化系統的用戶管理功能,新增租戶管理功能並引入跨組織部門管理功能。方便 9 組不同的客戶能夠在兩個正式(DMZ)環境中同時使用,克服了 DMZ 環境申請不易的問題。
資料平台開發:
- 搭建於 Apache Nifi 之上,通過 FastAPI 框架開發 RESTful API 並設計 MongoDB schema,並使用 Docker-compose 進行開發與部署。
- 負責開發資料庫 Connector 操作頁面,支援 Impala, Kudu, PostgreSQL, MySQL, MS SQL, Oracle 等多種資料庫,同時實現平台 Pipeline 中檢視資料的視覺化功能。
- 協助用戶建置及改善 ETL Pipeline 效能,提高資料處理效率。