《ASP.NET Core 微服务实战》-- 读书笔记(第1章 、第2章)
譯者序
微服務設計方法清晰定義了各個開發團隊的業務邊界,微服務框架以不同方式實現了服務之間的協作與集成。
.NET Core 作為全新的 .NET 技術,它不僅完全開源、跨平臺,更面向云原生開發進行了大量細致的優化。它完全模塊化,不依賴特定操作系統,其文件系統、網絡和配置等基礎功能模塊對跨平臺,命令行等現代化輕量級開發所要求的特性提供了卓越的支持。
本書首先介紹 .NET Core 開發環境的安裝,接著詳細介紹持續交付、API 優先和測試驅動等重要開發方法和思想。
推薦序
本書較完整地介紹使用 ASP.NET Core 進行微服務開發時的思路、步驟和工具,書中用大量篇幅講述關于開發功能強大且具有高可伸縮性和韌性的微服務思想,關注使用 ASP .NET Core 實現云原生模式。
本書 GitHub 庫(https://github.com/microservices-aspnetcore)
第 1 章 ASP .NET Core 基礎
核心概念
CoreCLR: 一個輕量級、跨平臺運行時,提供與 CLR 相同功能,包括垃圾回收、JIT 編譯、異常處理等等。
CoreFX: 一系列模塊化程序集,以 NuGet 包方式提供,并且完全開源,可通過 GitHub 獲取。
.NET Platform Standard: 以一種可控的架構支持 .NET Core 二進制可移植性的跨平臺目標。
ASP .NET Core: 一系列小的模塊化組件,可添加到現有應用中,用于開發 Web 應用和微服務;提供了路由、JSON 序列化、MVC 控制器與視圖 API 。
開發控制臺應用
$ dotnet new console $ dotnet restore $ dotnet run項目創建完成后,運行 dotnet restore 可分析項目的依賴,并下載所有需要的包。每次修改項目文件 .csproj 后,都要執行這一步驟。
開發第一個 ASP.NET Core 應用
往控制臺應用添加 ASP.NET Core 功能步驟:
添加 ASP.NET 包
添加 Kestrel 服務器
添加啟動類和中間件
第 2 章 持續交付
相對于傳統的單體應用,開發人員之所以要選擇開發微服務系統,其驅動力之一就是需要一種能把新功能和修復補丁快速部署到小型、可獨立縮放的子系統的功能。
只有在部署前就能確信這些服務在生產環境中不會出問題,才有可能做到這一點。
Docker 運用 Linux 內核提供的 cgroup 和 namespace 等功能對網絡、文件和內存等資源進行隔離,避免了完整的重量級虛擬機的負擔。
Docker 提供的能力讓我們可以創建一種無視目標環境差異,隨處運行的發布物,意味著在測試環境中測試 Docker 鏡像之后,我們相信它在生產環境中也會以完全一致的方式工作。這是擁抱持續交付的前提。
運行 Docker 鏡像
$ docker run -p 8080:8080 dotnetcoreservices/hello-world $ docker ps $ curl http://localhost:8080/will/it/blend? $ docker kill 61a68ffc3851使用 Wercker 持續集成
免費社區版(https://app.wercker.com/)
用 Wercker 構建服務
安裝 Wercker 命令行工具
添加 wercker.yml 配置文件
運行 Wercker 構建
使用 CircleCI 持續集成
CircleCI 與 Wercker 構建過程的關鍵區別在于,構建過程不是在已安裝好 .NET Core 的專用 Docker 鏡像中運行,我們需要使用諸如 apt-get 的工具來安裝 .NET 工具鏈。
部署到 docker hub
歡迎加入團購群
歡迎各位讀者加入微信群一起學習交流,可以加我微信 geffzhang,拉你入群。
總結
以上是生活随笔為你收集整理的《ASP.NET Core 微服务实战》-- 读书笔记(第1章 、第2章)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C# 调用 Go 语言】0x2 参数、
- 下一篇: 使用BeetleX.NetBenchma