Newbe.Claptrap 框架入門,第一步 —— 開發環境準備
Newbe.Claptrap 框架依託於一些關鍵性的基礎元件和一些可選的輔助元件。本篇我們來介紹一下如何準備一個開發環境。
Newbe.Claptrap 是一個用於輕鬆應對併發問題的分散式開發框架。如果您是首次閱讀本系列文章。建議可以先從本文末尾的入門文章開始瞭解。
必要元件
這些元件是使用本框架進行開發是必須要安裝的元件。
Docker Desktop
Docker Desktop 是以下所有元件執行的基礎。開發可以通過以下連結下載對應作業系統的版本並進行安裝:
https://www.docker.com/products/docker-desktop
安裝完畢後,可以在控制檯中使用以下命令驗證安裝效果:
PS C:\Repos\newbe\Newbe.Claptrap.Docs\src> docker --version Docker version 20.10.2, build 2291f61 |
中國大陸使用者,需要為 Docker Desktop 配置好加速映象。這將有助於後續環境的安裝。
dotnet SDK
本框架依賴於 net 5 SDK 和 runtime。開發者可以通過以下連結下載最新的 SDK 並按照提示進行安裝:
https://dotnet.microsoft.com/download/dotnet/5.0
安裝完畢後,可以在控制檯中使用以下命令驗證安裝效果:
PS C:\Repos\newbe\Newbe.Claptrap.Docs\src> dotnet --version 5.0.103 |
Tye
Tye 是有微軟開發提供的一款簡化分散式應用開發的輔助命令列工具。
開發者可以在以下連結中找到最新的安裝命令列指令碼:
https://www.nuget.org/packages/Microsoft.Tye
安裝完畢後,可以在控制檯中使用以下命令驗證安裝效果:
PS C:\Repos\newbe\Newbe.Claptrap.Docs\src> tye --version 0.6.0-alpha.21070.5+a42e4463943e3136dbd1de38474d8d62b802797c |
Dapr
Dapr 是 Newbe.Claptrap 執行的基石。可以通過以下官方文件瞭解開發環境的安裝方式:
https://docs.dapr.io/getting-started/
中文使用者也可以通過以下連結檢視中文介紹:
https://dapr-cn.gitee.io/getting-started/
安裝完畢後,可以在控制檯中使用以下命令驗證安裝效果:
PS C:\Repos\newbe\Newbe.Claptrap.Docs\src> dapr --version CLI version: 1.0.0 Runtime version: 1.0.0 |
資料庫
Newbe.Claptrap 目前支援 SQLite
/Mysql
/PostgreSQL
/Mongodb
多種資料庫。
開發者可以選擇已經部署好的應用例項,也可以通過以下連結獲取本專案開發時使用的 docker-compose.yml
檔案以部署資料庫:
https://github.com/newbe36524/Newbe.Claptrap/tree/master/src/Docker/Database
可選元件
這些元件是使用本框架進行開發時可選的元件。只有當需要使用到特定特性時才需要使用到。不過,我們仍然建議開發者安裝這些元件。這樣有助於開發者更有效的瞭解系統的執行情況。
Grafana
Grafana 可以將系統的監控資料以圖表的形式展示出來,是一個非常優秀的開源方案。
開發者可以使用以下連結中提供的 docker-compose.yml
來建立一個用於本專案的 Grafana 例項:
https://github.com/newbe36524/Newbe.Claptrap/tree/master/src/Docker/Monitor
Jaeger
Jaeger 是一款分散式鏈路監控工具,可以幫助開發者進一步瞭解服務間的關係和效能細節。
開發者可以通過以下連結提供的 docker-compose.yml
來構建一個用於本專案的 Jaeger 例項:
https://github.com/newbe36524/Newbe.Claptrap/tree/master/src/Newbe.Claptrap.Template/HelloClaptrap
也可以從本專案的專案模板中找到這個 docker-compose.yml
檔案。關於專案模板的詳細介紹,將在下節進行說明。
Seq
Seq 是一款高效的分散式日誌管理工具,可以幫助開發者對多個應用程式的日誌進行收集和視覺化。
開發者可以通過以下連結提供的 docker-compose.yml
來構建一個用於本專案的 Seq 例項:
https://github.com/newbe36524/Newbe.Claptrap/tree/master/src/Newbe.Claptrap.Template/HelloClaptrap
也可以從本專案的專案模板中找到這個 docker-compose.yml
檔案。關於專案模板的詳細介紹,將在下節進行說明。
小結
本篇,我們初步瞭解瞭如何為 Newbe.Claptrap 專案初始化一個基礎可用的開發環境。
下一篇,我們將使用該環境以及專案模板,建立第一個 Newbe.Claptrap 專案。
最後但是最重要!
如果讀者對該內容感興趣,歡迎轉發、評論、收藏文章以及專案。
最近作者正在構建以 Actor 模式 和 事件溯源 為理論基礎的一套服務端開發框架。希望為開發者提供能夠便於開發出 “分散式”、“可水平擴充套件”、“可測試性高” 的應用系統 ——Newbe.Claptrap
本篇文章是該框架的一篇技術選文,屬於技術構成的一部分。
專案文件庫:claptrap.newbe.pro
聯絡方式: QQ 群 610394020
您還可以查閱本系列的其他選文:
理論入門篇
- Newbe.Claptrap - 一套以 “事件溯源” 和 “Actor 模式” 作為基本理論的服務端開發框架
術語介紹篇
- Actor 模式
- 事件溯源(Event Sourcing)
- Claptrap
- Minion
- 事件 (Event)
- 狀態 (State)
- 狀態快照 (State Snapshot)
- Claptrap 設計圖 (Claptrap Design)
- Claptrap 工廠 (Claptrap Factory)
- Claptrap Identity
- Claptrap Box
- Claptrap 生命週期(Claptrap Lifetime Scope)
- 序列化(Serialization)
- 最小競爭資源 (Minimal Competing Resources)
樣例實踐篇
- 設計一個火車票銷售系統
開發入門篇
- Newbe.Claptrap 框架入門,第一步 —— 開發環境準備
- Newbe.Claptrap 框架入門,第二步 —— 建立專案
開發工具篇
- 使用 Tye 輔助開發 k8s 應用竟如此簡單(一)
- 使用 Tye 輔助開發 k8s 應用竟如此簡單(二)
- 使用 Tye 輔助開發 k8s 應用竟如此簡單(三)
- 使用 Tye 輔助開發 k8s 應用竟如此簡單(四)
- 使用 Tye 輔助開發 k8s 應用竟如此簡單(五)
- 使用 Tye 輔助開發 k8s 應用竟如此簡單(六)
其他番外篇
- 談反應式程式設計在服務端中的應用,資料庫操作優化,從 20 秒到 0.5 秒
- 談反應式程式設計在服務端中的應用,資料庫操作優化,提速 Upsert
- 十萬同時線上使用者,需要多少記憶體?——Newbe.Claptrap 框架水平擴充套件實驗
- docker-mcr 助您全速下載 dotnet 映象
- 十多位全球技術專家,為你獻上近十個小時的.Net 微服務介紹
- 年輕的樵夫喲,你掉的是這個免費 8 核 4G 公網伺服器,還是這個隨時可用的 Docker 實驗平臺?
- 如何使用 dotTrace 來診斷 netcore 應用的效能問題
- 只要十步,你就可以應用表示式樹來優化動態呼叫
GitHub 專案地址:https://github.com/newbe36524/Newbe.Claptrap
Gitee 專案地址:https://gitee.com/yks/Newbe.Claptrap
您當前檢視的是先行釋出於 www.newbe.pro 上的部落格文章,實際開發文件隨版本而迭代。若要檢視最新的開發文件,需要移步 claptrap.newbe.pro。
------ 本文結束 ------
- 本文作者: newbe36524
- 本文連結: https://www.newbe.pro/Newbe.Claptrap/Get-Started-1/
- 版權宣告: 本部落格所有文章除特別宣告外,均採用 BY-NC-SA 許可協議。轉載請註明出處!