日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BCVP开发者说第3期:Adnc

發(fā)布時間:2023/12/4 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BCVP开发者说第3期:Adnc 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

沉靜歲月,淡忘流年

1

項目簡介

Adnc


??? Adnc是一個輕量級的.NetCore微服務(wù)快速開發(fā)框架,同時也可以應(yīng)用于單體架構(gòu)系統(tǒng)的開發(fā)。框架基于JWT認證授權(quán)、集成了一系列微服務(wù)配套組件,代碼簡潔、易上手、學習成本低、開箱即用。

????框架前端基于Vue、后端服務(wù)基于.NetCore3.1搭建,也是一個前后端分離的框架。webapi遵循RESTful風格,框架包含用戶、角色、權(quán)限、部門管理;字典、配置管理;登錄、審計、異常日志管理等基礎(chǔ)的后臺管理模塊。

????框架對配置中心、依賴注入、日志、緩存、模型映射、認證/授權(quán)、倉儲、服務(wù)注冊/發(fā)現(xiàn)、健康檢測、性能與鏈路監(jiān)測、隊列、ORM、EventBus等模塊進行更高一級的自動化封裝,更易于開發(fā)Asp.NET Core微服務(wù)項目。

原項目地址:
https://github.com/AlphaYu/Adnc

作者博客:
https://www.cnblogs.com/alphayu

?

2

框架功能

?

在線項目演示:

http://adnc.aspdotnetcore.net



賬號:alpha2008

密碼:alpha2008

?

(登錄頁面)

(健康檢測中心)

(操作日志)

(性能鏈路檢測)


用戶中心
? 1、用戶管理
? 2、角色管理
? 3、菜單管理
? 4、部門管理


運維中心
? 1、性能鏈路監(jiān)測
? 2、接口文檔
? 3、健康檢查
? 4、事件總線
? 5、字典管理
? 6、參數(shù)管理
? 7、任務(wù)管理

? 8、登錄日志
? 9、操作日志

3

框架技術(shù)棧

(系統(tǒng)所用到的技術(shù)棧)

  • ServerApi基于.NET CORE 3.1搭建。

  • 后端主要技術(shù)棧

名稱描述
Ocelot基于 .NET Core 編寫的開源網(wǎng)關(guān)
Consul配置中心、注冊中心組件
Refit一個聲明式自動類型安全的RESTful服務(wù)調(diào)用組件,用于同步調(diào)用其他微服務(wù)
SkyAPM.Agent.AspNetCoreSkywalking .NET Core探針,性能鏈路監(jiān)測組件
AspNetCore.HealthChecks健康監(jiān)測組件,搭配consul的健康監(jiān)測
AutofacIOC容器組件
Autofac.Extras.DynamicProxyAutfac AOP擴展
Efcore微軟的ORM組件
Dapper輕量級ORM組件
Z.EntityFramework.Plus.EFCore第三方高性能的EfCore組件
NLog日志記錄組件
AutoMapper模型映射組件
Swashbuckle.AspNetCoreAPIs文檔生成工具(swagger)
EasyCaching實現(xiàn)了一、二級緩存管理的一個開源的組件
CAP實現(xiàn)事件總線及最終一致性(分布式事務(wù))的一個開源的組件
RabbitMq異步消息隊列組件
Polly一個 .NET 彈性和瞬態(tài)故障處理庫,允許開發(fā)人員以 Fluent 和線程安全的方式來實現(xiàn)重試、斷路、超時、隔離和回退策略

4

分層介紹

????

整體架構(gòu)圖

Adnc.Infras 基礎(chǔ)架構(gòu)相關(guān)工程
Adnc.Portal 微服務(wù)相關(guān)工程



Adnc.Infras 基礎(chǔ)架構(gòu)相關(guān)工程

01.Adnc.WebApi.Shared

該層實現(xiàn)了認證、鑒權(quán)、異常捕獲等公共類和中間件。所有微服務(wù)WebApi層的共享層,并且都需要依賴該層。



02.Adnc.Application.Shared

該層定義了DTO對象的基類、Rpc服務(wù)通用服務(wù)、應(yīng)用服務(wù)類基類以及操作日志攔截器。所有微服務(wù)Application層的共享層,并且都需要依賴該層。



03.Adnc.Core.Shared

該層定義了Entity對象的基類、業(yè)務(wù)服務(wù)接口基類、UOW接口與攔截器、倉儲接口、以及處理本地事務(wù)與分布式事務(wù)。所有微服務(wù)Core層的共享層,并且都需要依賴該層。



04.Adnc.Infr.Common

該層實現(xiàn)了一些通用幫助類。該層不依賴任何層。



10.Adnc.Infr.Gateway

該層是一個輸出項目,基于Ocelot實現(xiàn)的Api網(wǎng)關(guān),如果項目采用整體結(jié)構(gòu)開發(fā),該項目可以直接刪除。ocelot網(wǎng)關(guān)包含路由、服務(wù)聚合、服務(wù)發(fā)現(xiàn)、認證、鑒權(quán)、限流、熔斷、緩存、Header頭傳遞等功能。市面上主流網(wǎng)關(guān)還有Kong,Traefik,Ambassador,Tyk等。



11.Adnc.Infr.HealthCheckUI

該層是一個輸出項目, AspNetCore.HealthChecks組件的Dashboard,直接配置需要監(jiān)測的服務(wù)地址就可以了,沒有代碼,關(guān)鍵的代碼參考webapi層的AddHealthChecks()方法。



20.Adnc.Infr.Consul

該層集成了Consul,提供服務(wù)的自動注冊、發(fā)現(xiàn)以及系統(tǒng)配置讀寫。



21.Adnc.Infr.EasyCaching

該層集成了EasyCaching,負責一、二級緩存的管理,并重寫了EasyCaching攔截器部分代碼。


22.Adnc.Infr.EfCore

該層負責Adnc.Core.Shared倉儲接口與Uow的EfCore的實現(xiàn),負責mysql數(shù)據(jù)庫的操作。同時也集成了Dapper部分接口,用來處理復雜查詢。



23.Adnc.Infr.Mongo

該層負責Adnc.Core.Shared倉儲接口的Mongodb實現(xiàn),負責mongodb數(shù)據(jù)庫的操作。



24.Adnc.Infr.RabbitMq

該層集成了RabbitMq。封裝了發(fā)布者與訂閱者等公共類,方便更加便捷的調(diào)用rabbitmq。



Adnc.Portal 微服務(wù)相關(guān)工程

該層都是具體微服務(wù)業(yè)務(wù)的實現(xiàn)。
Adnc.Usr 用戶中心微服務(wù),實現(xiàn)了用戶、角色、權(quán)限、部門管理。
Adnc.Maint 運維中心微服務(wù),實現(xiàn)了登錄、審計、異常日志管理以及一些配套組件的外鏈。
Adnc.Cus 客戶中心微服務(wù),該層主要是一些demo。
每個微服務(wù)的Migrations層是Efcore用來做數(shù)據(jù)遷移的,遷移的日志文件存放在各自Migrations目錄中。



基于Net/Core,快速搭建 API & SPA 及微服務(wù)應(yīng)用組織

BASE NETCORE (VUE) PROJECT TEAM

每一個.NET開發(fā)者都可以通過自己的開源項目(最好可以配套簡單發(fā)表些文章)在這里進行分享,BCVP開發(fā)者組織的意義就是激發(fā)和挖掘更多的作品,可能偏基礎(chǔ),但是都會有價值。目的就是希望:每個人能將從社區(qū)學到的知識,進行自己消化和總結(jié),濃縮成一個個獨立的項目,接著投入到社區(qū),最后讓更多的初學者去了解、去學習、去思想碰撞,從而達到學習來源于社區(qū),最后反哺于社區(qū)的良好循環(huán)目的,我們都是學生,也都是下一批初學者的老師,這才應(yīng)該是一個社區(qū)正向推動的方法。

地址:
https://github.com/BaseCoreVueProject

可以在Home倉庫里,查看具體的流程說明,只要你愿意分享,就來吧。

加入我們

總結(jié)

以上是生活随笔為你收集整理的BCVP开发者说第3期:Adnc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。