CAP 3.1 版本釋出通告
阿新 • • 發佈:2020-08-17
### 前言
今天,我們很高興宣佈 CAP 釋出 3.1 版本正式版。同時我們也很高興的告訴你 CAP 在 GitHub 已經突破了 4000 Star.
CAP 3000 Star 還是去年8月份的時候,最近一年漲了 1000 Star,幾乎沒有宣傳的情況下我覺得還是可以,最開心的是這新增的 1000 中有一半以上的都是老外關注的,說明已經走出國門了。國產專案因為有很多原因其實走出國門是非常不容易的,這其實是我最想看到的結果。
另外一個讓我覺得走出國門的原因是有老外主動給 CAP 寫[部落格](https://codeopinion.com/cap-event-bus-outbox-pattern/) 以及在Youtube錄製[視訊](https://www.youtube.com/watch?v=dnhPzILvgeo&t=106s)了,這些都是我不曾想到的。
自從上次 CAP [3.0 版本釋出](https://www.cnblogs.com/savorboard/p/cap-3-0.html) 以來,已經過去了大半年的時間,關注的朋友可能知道,在這些的時間裡,也釋出了幾個小的 Bug 修復版本,修復了在 3.0 版本中的一些Bug,得到了很多的好評,非常感謝大家一直以來對CAP的支援。
### 簡介
可能有些人還不知道 CAP 是什麼,老規矩來一個簡介。
[CAP](https://github.com/dotnetcore/CAP) 是一個用來解決微服務或者分散式系統中分散式事務問題的一個開源專案解決方案([https://github.com/dotnetcore/CAP](https://github.com/dotnetcore/CAP))同樣可以用來作為 EventBus 使用,目前已經3歲多了,已經應用到了很多的公司和專案中,
想對 CAP 更多瞭解的同學可以看下[官方文件](http://cap.dotnetcore.xyz)。
本次在 CAP 3.1 版本中我們主要帶來了以下新特性:
* 增加了對 AWS 的 SQS 的支援
* 儲存移除了對 Dapper 的依賴
* 更加完善的文件支援以及英文文件中的語法修復
* 增加對 Visual Studio 原始碼除錯的支援
* 更新依賴的 NuGet 包到最新版本
* 一些 Bug 修復
下面我們就來逐一看一下這些新的特性。
### 增加了對 AWS 的 SQS 的支援
AWS(亞馬遜雲)是目前全球市場份額最大的雲端計算廠商,世界上有越來越多的公司在使用亞馬遜提供的各項雲服務,另外其在中國的市場份額也在增加,所以我們在這個版本決定對其提供支援。
我們主要是對 AWS 提供的 SNS 和 SQS 服務在 CAP 中進行整合,SNS 提供了 Topic 的功能,SQS 是對 Topic 進行訂閱及消費。
你可以在文件中看到更多介紹:https://cap.dotnetcore.xyz/user-guide/zh/transport/aws-sqs/
整合方式:
```cs
services.AddCap(x =>
{
...
x.UseAmazonSQS(RegionEndpoint.CNNorthWest1);
});
```
注意:你的 IAM 賬戶需要具有建立 SNS 以及 SQS 等的許可權,如果你是執行在 EC2 中,則需要 EC2 的角色具有相應的許可權。
### 移除了對 Dapper 的依賴
由於 CAP 的 Storage 專案依賴了 Dapper,所以對於不想使用 Dapper 的專案或者是Dapper版本和CAP的依賴性不相容的專案帶來了一些困擾,所以我們在此版本替換為了直接的 ado.net。
在這裡感謝 [@cBear](https://github.com/xiangxiren) 同學對此特性進行的貢獻。另外也幫助我們修復了一些Bug。
移除Dapper依賴項的專案包括:
```
DotNetCore.CAP.MySql
DotNetCore.CAP.SqlServer
DotNetCore.CAP.PostgreSql
```
### 完善文件及英文語法修復
這個版本我們修復以及完善了一些文件內容,包括新增了 Amazon SQS 的文件。
同時我們對英文文件進行了大量的語法修正,非常感謝 [@mzorec](https://github.com/mzorec) 對此進行的修正。
### 增加對 Visual Studio 原始碼除錯的支援
我們在很久之前已經提供了對 SourceLink 的支援,但當時我們的符號伺服器使用的是 SymbolSource.org,對於整合體驗不是太好,這個版本我們進行了一些改進。
NuGet.org 從18年底提供了對符號檔案(snupkg)/伺服器的支援,符號檔案我們都知道是 Visual Studio 用來對原始碼進行除錯的,配合 SourceLink 就可以定位到 GitHub的原始碼了,所以我們在此版本將我們的符號檔案修改為了 snupkg 並且轉到到了 NuGet.org,希望能夠幫助到需要的同學。
你可以在這裡看到如何在 Visual Studio 中 [使用 snupkg 提供除錯體驗](https://devblogs.microsoft.com/nuget/improved-package-debugging-experience-with-the-nuget-org-symbol-server/#consume-snupkg-from-nuget-org-in-visual-studio)。
### 其他
其他的一些改進專案包括:
1、我們將所有的 nuget 的依賴包都升級到了最新版本。 特別需要注意的是 MySqlConnector 我們升級到了 1.0,有使用到 Pomelo.EntityFrameworkCore.MySql 的同學需要注意目前它還不支援1.0版本。
2、修復了一些已知的Bug,你可以在[這裡](https://github.com/dotnetcore/CAP/releases/tag/v3.1.0)看到。
### 總結
以上,就是本版本中支援的一些新特性,感謝大家的支援,我們很開心能夠幫助到大家
。大家在使用的過程中遇到問題希望也能夠積極的反饋,幫助CAP變得越來越好。:)
如果你喜歡這個專案,可以通過下面的連線點選 Star 給我們支援。
[![GitHub stars](https://img.shields.io/github/stars/dotnetcore/CAP.svg?label=github-cap-stars)](https://github.com/dotnetcore/CAP/stargazers)
如果你覺得本篇文章對您有幫助的話,感謝您的【推薦】。
如果你對 .NET Core 有興趣的話可以關注我,我會定期的在部落格分享我的學習心得。
---
>本文地址:[http://www.cnblogs.com/savorboard/p/cap-3-1.html](http://www.cnblogs.com/savorboard/p/cap-3-1.html)
>作者部落格:[Savorboard](http://www.cnblogs.com/savorboard)
>本文原創授權為:署名 - 非商業性使用 - 禁止演繹,協議[普通文字](https://creativecommons.org/licenses/by-nc-nd/4.0/) | 協議[法律文字](https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode)