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
您還可以查閱本系列的其他選文:
理論入門篇
術語介紹篇
- 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 項目地址: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 許可協議。轉載請注明出處!