.NET CORE微服務實踐
https://www.cnblogs.com/zengqinglei/p/9570343.html
.NET CORE
實踐部署架構圖
實踐源碼:https://github.com/zengqinglei/microservice-deploy
為了更加接近生產環境的部署方式,我們使用vmware創建如下幾台主機:
centos-02:192.168.0.102 應用集群節點-2
centos-03:192.168.0.103 應用集群節點-3
ubuntu-04:192.168.0.104 應用集群節點-4
ubuntu-05:192.168.0.105 數據庫節點-5
虛擬IP:192.168.0.110
main-1
mic-service-arc
系列導航目錄
由於文章中涉及內容較多,所以其中如設計docker構建、配置等復雜教程都會引導大家去github查看詳情,大家注意一下引導鏈接地址,文章中盡可能通過簡要的原理及對於微服務架構的作用配合圖講解,讓文章更加通俗易懂。
- 微服務系列介紹
- 搭建服務器(cenos + ubuntu)環境
- 搭建docker,docker-compose環境
- 負載集群及高可用(keepalived + nginx)
- 搭建consul集群服務發現、注冊、健康檢查環境
- 搭建mysql,sqlserver數據庫環境
- 搭建攜程Apollo集群統一配置中心
- 基於Skywalking的服務跟蹤及性能監控
- 搭建統一服務日志中心
- .NET CORE 微服務示例
- 集群完整版
推薦一下我的 Asp.Net Core 框架
名稱:Creekdream.AspNetCore
開源地址:http://github.com/zengqinglei/Creekdream.AspNetCore
簡單介紹
我自己的框架參考了一些Abp框架,根據近一兩年針對微服務開發設計,總結開發出來的。
首先,說明一下Abp框架確實很優秀,但隨着微服務的發展,框架整體相對較為臃腫,模塊化設計不夠徹底,核心類庫都依賴了各種接口的實現,我們團隊在使用的過程中可能由於不熟悉會導致一些莫名的問題,再加上微服務盛行,使得更多的模塊變得沒有必要。
微軟的 .NET CORE 已經做到很優秀,提供Service注入統一入口,中間件、日志、依賴注入的加入等,使得模塊化以及開發模式的規約都使得開發變得更加規范可控,框架的設計原則盡可能遵從 .NET CORE 的設計理念。
簡要特點
分離模塊化,獨立模塊都有自己的核心庫
依賴注入,抽象使其能替換依賴注入框架
DDD領域分層
提供快捷生成項目模板
提供EntityframeworkCore以及Dapper兩種ORM
工作單元支持
核心模塊僅依賴必要的接口
框架架構圖
app-arc
總結
本次微服務系列從基本概念到一步步的基礎設施的搭建最后晚上的一套服務架構體系,用完全docker化的方式給大家呈現,方便根據實際的生產或者測試環境進行調整。
微服務之路是漫長的,我們仍還需要很多工作要做,在工作中,根據業務需求划分邊界,微服務API的定義,服務內部的模塊划分都需要我們花更多的時間去推敲。