Newbe.Claptrap 框架入門,第一步 —— 開發環境準備
- 2021 年 2 月 27 日
- 筆記
Newbe.Claptrap 框架依託於一些關鍵性的基礎組件和一些可選的輔助組件。本篇我們來介紹一下如何準備一個開發環境。
Newbe.Claptrap 是一個用於輕鬆應對並發問題的分散式開發框架。如果您是首次閱讀本系列文章。建議可以先從本文末尾的入門文章開始了解。
必要組件
這些組件是使用本框架進行開發是必須要安裝的組件。
Docker Desktop
Docker Desktop 是以下所有組件運行的基礎。開發可以通過以下鏈接下載對應作業系統的版本並進行安裝:
//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 並按照提示進行安裝:
//dotnet.microsoft.com/download/dotnet/5.0
安裝完畢後,可以在控制台中使用以下命令驗證安裝效果:
PS C:\Repos\newbe\Newbe.Claptrap.Docs\src> dotnet --version
5.0.103
|
Tye
Tye 是有微軟開發提供的一款簡化分散式應用開發的輔助命令行工具。
開發者可以在以下鏈接中找到最新的安裝命令行腳本:
//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 運行的基石。可以通過以下官方文檔了解開發環境的安裝方式:
//docs.dapr.io/getting-started/
中文用戶也可以通過以下鏈接查看中文介紹:
//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
文件以部署資料庫:
//github.com/newbe36524/Newbe.Claptrap/tree/master/src/Docker/Database
可選組件
這些組件是使用本框架進行開發時可選的組件。只有當需要使用到特定特性時才需要使用到。不過,我們仍然建議開發者安裝這些組件。這樣有助於開發者更有效的了解系統的運行情況。
Grafana
Grafana 可以將系統的監控數據以圖表的形式展示出來,是一個非常優秀的開源方案。
開發者可以使用以下鏈接中提供的 docker-compose.yml
來創建一個用於本項目的 Grafana 實例:
//github.com/newbe36524/Newbe.Claptrap/tree/master/src/Docker/Monitor
Jaeger
Jaeger 是一款分散式鏈路監控工具,可以幫助開發者進一步了解服務間的關係和性能細節。
開發者可以通過以下鏈接提供的 docker-compose.yml
來構建一個用於本項目的 Jaeger 實例:
//github.com/newbe36524/Newbe.Claptrap/tree/master/src/Newbe.Claptrap.Template/HelloClaptrap
也可以從本項目的項目模板中找到這個 docker-compose.yml
文件。關於項目模板的詳細介紹,將在下節進行說明。
Seq
Seq 是一款高效的分散式日誌管理工具,可以幫助開發者對多個應用程式的日誌進行收集和可視化。
開發者可以通過以下鏈接提供的 docker-compose.yml
來構建一個用於本項目的 Seq 實例:
//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
您還可以查閱本系列的其他選文:
理論入門篇
術語介紹篇
- 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)
樣例實踐篇
開發入門篇
開發工具篇
- 使用 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 項目地址://github.com/newbe36524/Newbe.Claptrap
Gitee 項目地址://gitee.com/yks/Newbe.Claptrap
您當前查看的是先行發佈於 www.newbe.pro 上的部落格文章,實際開發文檔隨版本而迭代。若要查看最新的開發文檔,需要移步 claptrap.newbe.pro。
- 本文作者: newbe36524
- 本文鏈接: //www.newbe.pro/Newbe.Claptrap/Get-Started-1/
- 版權聲明: 本部落格所有文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!