Appsmith
Appsmith 是一個開源的低代碼平台,用於構建內部工具和應用程式。它提供了一個簡單的介面,用於構建和部署應用程式,而無需編寫代碼。
Appsmith 介紹
Appsmith 讓您輕鬆構建與任何數據源交互的用戶介面。您可以通過幾個簡單的步驟創建從簡單的 CRUD 應用到複雜的多步驟工作流的各種應用:
- 連接數據源:與數據庫或 API 集成。Appsmith 支援最流行的數據庫和 REST API。
- 構建 UI:使用內建小部件來構建您的應用佈局。
- 編寫邏輯:在編輯器中隨處使用查詢和 JavaScript 來表達您的業務邏輯。
- 協作、部署、分享:Appsmith 支援使用 Git 進行版本控制,通過分支協作開發,追蹤和回滾變更。部署應用並與其他用戶分享。
官方網站:https://www.appsmith.com/
專案架構
- 持久化數據庫:MongoDB Duplica Set 單節點(可以擴展為多節點實現高可用)
- 快取:Redis 單節點
- 主程式:Appsmith 社群版(Appsmith-CE)
專案中各服務的啟動流程
- 先啟動 MongoDB 和 Redis 服務,兩者啟動後才會啟動 appsmith-ce 服務(appsmith-ce 服務啟動前會存在短暫的「未知」狀態)
- 每 1 秒持續檢測 MongoDB 是否已經初始化完成(通過 mongosh 本地連接來判斷),在日誌中輸出 "Wait for MongoDB service initiate complete..."。
- MongoDB 服務啟動後,會自動執行 /etc/mongo-init.sh 腳本(此腳本在已「配置文件」中進行設置),實現以下功能:
- 配置單節點 Replca Set
- 創建 appsmith 數據庫、appsmith 用戶、給創建的用戶分配所需權限
- 腳本執行完成後,Appsmith 服務將使用自動創建的 appsmith 用戶來操作 MongoDB 中名為的 appsmith 數據庫
- appsmith-ce 服務成功連上 MongoDB 數據庫後,會進行服務加載,初次加載耗時較長,且需要配置外部 IP 地址(需要下載一些必要的組件),請耐心等待加載完成
- 加載完成後,通過 appsmith-ce 的外部 IP 地址即可訪問 web 介面,開始使用 Appsmith。