Newbe.Claptrap 框架入門,第一步 —— 開發環境準備

Newbe.Claptrap 框架依託於一些關鍵性的基礎組件和一些可選的輔助組件。本篇咱們來介紹一下如何準備一個開發環境。css

Newbe.Claptrap 是一個用於輕鬆應對併發問題的分佈式開發框架。若是您是首次閱讀本系列文章。建議能夠先從本文末尾的入門文章開始瞭解。git

必要組件

這些組件是使用本框架進行開發是必需要安裝的組件。github

Docker Desktop

Docker Desktop 是如下全部組件運行的基礎。開發能夠經過如下連接下載對應操做系統的版本並進行安裝:sql

https://www.docker.com/products/docker-desktopdocker

安裝完畢後,能夠在控制檯中使用如下命令驗證安裝效果:數據庫

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

您還能夠查閱本系列的其餘選文:

理論入門篇

  1. Newbe.Claptrap - 一套以 「事件溯源」 和 「Actor 模式」 做爲基本理論的服務端開發框架

術語介紹篇

  1. Actor 模式
  2. 事件溯源(Event Sourcing)
  3. Claptrap
  4. Minion
  5. 事件 (Event)
  6. 狀態 (State)
  7. 狀態快照 (State Snapshot)
  8. Claptrap 設計圖 (Claptrap Design)
  9. Claptrap 工廠 (Claptrap Factory)
  10. Claptrap Identity
  11. Claptrap Box
  12. Claptrap 生命週期(Claptrap Lifetime Scope)
  13. 序列化(Serialization)
  14. 最小競爭資源 (Minimal Competing Resources)

樣例實踐篇

  1. 設計一個火車票銷售系統

開發入門篇

  1. Newbe.Claptrap 框架入門,第一步 —— 開發環境準備
  2. Newbe.Claptrap 框架入門,第二步 —— 建立項目

開發工具篇

  1. 使用 Tye 輔助開發 k8s 應用竟如此簡單(一)
  2. 使用 Tye 輔助開發 k8s 應用竟如此簡單(二)
  3. 使用 Tye 輔助開發 k8s 應用竟如此簡單(三)
  4. 使用 Tye 輔助開發 k8s 應用竟如此簡單(四)
  5. 使用 Tye 輔助開發 k8s 應用竟如此簡單(五)
  6. 使用 Tye 輔助開發 k8s 應用竟如此簡單(六)

其餘番外篇

  1. 談反應式編程在服務端中的應用,數據庫操做優化,從 20 秒到 0.5 秒
  2. 談反應式編程在服務端中的應用,數據庫操做優化,提速 Upsert
  3. 十萬同時在線用戶,須要多少內存?——Newbe.Claptrap 框架水平擴展實驗
  4. docker-mcr 助您全速下載 dotnet 鏡像
  5. 十多位全球技術專家,爲你獻上近十個小時的.Net 微服務介紹
  6. 年輕的樵夫喲,你掉的是這個免費 8 核 4G 公網服務器,仍是這個隨時可用的 Docker 實驗平臺?
  7. 如何使用 dotTrace 來診斷 netcore 應用的性能問題
  8. 只要十步,你就能夠應用表達式樹來優化動態調用

GitHub 項目地址:https://github.com/newbe36524/Newbe.Claptrap

Gitee 項目地址:https://gitee.com/yks/Newbe.Claptrap

您當前查看的是先行發佈於 www.newbe.pro 上的博客文章,實際開發文檔隨版本而迭代。若要查看最新的開發文檔,須要移步 claptrap.newbe.pro

Newbe.Claptrap

------ 本文結束 ------
相關文章
相關標籤/搜索