前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BCVP开发者说第3期:Adnc

BCVP开发者说第3期:Adnc

作者头像
老张的哲学
发布2022-04-11 16:17:30
6300
发布2022-04-11 16:17:30
举报
文章被收录于专栏:NetCore 从壹开始

沉静岁月,淡忘流年

1项目简介

Adnc

Adnc是一个轻量级的.NetCore微服务快速开发框架,同时也可以应用于单体架构系统的开发。框架基于JWT认证授权、集成了一系列微服务配套组件,代码简洁、易上手、学习成本低、开箱即用。     框架前端基于Vue、后端服务基于.NetCore3.1搭建,也是一个前后端分离的框架。webapi遵循RESTful风格,框架包含用户、角色、权限、部门管理;字典、配置管理;登录、审计、异常日志管理等基础的后台管理模块。     框架对配置中心、依赖注入、日志、缓存、模型映射、认证/授权、仓储、服务注册/发现、健康检测、性能与链路监测、队列、ORM、EventBus等模块进行更高一级的自动化封装,更易于开发Asp.NET Core微服务项目。

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

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

2框架功能

在线项目演示:

http://adnc.aspdotnetcore.net 账号:alpha2008

密码:alpha2008

(登录页面)

(健康检测中心)

(操作日志)

(性能链路检测) 用户中心 1、用户管理 2、角色管理 3、菜单管理 4、部门管理

运维中心 1、性能链路监测 2、接口文档 3、健康检查 4、事件总线 5、字典管理 6、参数管理 7、任务管理

8、登录日志 9、操作日志

3框架技术栈

(系统所用到的技术栈)

  • ServerApi基于.NET CORE 3.1搭建。
  • 后端主要技术栈
代码语言:javascript
复制
基于 
.NET Core
 编写的开源网关

4分层介绍

整体架构图

Adnc.Infras 基础架构相关工程 Adnc.Portal 微服务相关工程

Adnc.Infras 基础架构相关工程
01.Adnc.WebApi.Shared

该层实现了认证、鉴权、异常捕获等公共类和中间件。所有微服务WebApi层的共享层,并且都需要依赖该层。

02.Adnc.Application.Shared

该层定义了DTO对象的基类、Rpc服务通用服务、应用服务类基类以及操作日志拦截器。所有微服务Application层的共享层,并且都需要依赖该层。

03.Adnc.Core.Shared

该层定义了Entity对象的基类、业务服务接口基类、UOW接口与拦截器、仓储接口、以及处理本地事务与分布式事务。所有微服务Core层的共享层,并且都需要依赖该层。

04.Adnc.Infr.Common

该层实现了一些通用帮助类。该层不依赖任何层。

10.Adnc.Infr.Gateway

该层是一个输出项目,基于Ocelot实现的Api网关,如果项目采用整体结构开发,该项目可以直接删除。ocelot网关包含路由、服务聚合、服务发现、认证、鉴权、限流、熔断、缓存、Header头传递等功能。市面上主流网关还有Kong,Traefik,Ambassador,Tyk等。

11.Adnc.Infr.HealthCheckUI

该层是一个输出项目, AspNetCore.HealthChecks组件的Dashboard,直接配置需要监测的服务地址就可以了,没有代码,关键的代码参考webapi层的AddHealthChecks()方法。

20.Adnc.Infr.Consul

该层集成了Consul,提供服务的自动注册、发现以及系统配置读写。

21.Adnc.Infr.EasyCaching

该层集成了EasyCaching,负责一、二级缓存的管理,并重写了EasyCaching拦截器部分代码。

22.Adnc.Infr.EfCore

该层负责Adnc.Core.Shared仓储接口与Uow的EfCore的实现,负责mysql数据库的操作。同时也集成了Dapper部分接口,用来处理复杂查询。

23.Adnc.Infr.Mongo

该层负责Adnc.Core.Shared仓储接口的Mongodb实现,负责mongodb数据库的操作。

24.Adnc.Infr.RabbitMq

该层集成了RabbitMq。封装了发布者与订阅者等公共类,方便更加便捷的调用rabbitmq。

Adnc.Portal 微服务相关工程

该层都是具体微服务业务的实现。 Adnc.Usr 用户中心微服务,实现了用户、角色、权限、部门管理。 Adnc.Maint 运维中心微服务,实现了登录、审计、异常日志管理以及一些配套组件的外链。 Adnc.Cus 客户中心微服务,该层主要是一些demo。 每个微服务的Migrations层是Efcore用来做数据迁移的,迁移的日志文件存放在各自Migrations目录中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 整体架构图
  • Adnc.Infras 基础架构相关工程
    • 01.Adnc.WebApi.Shared
      • 02.Adnc.Application.Shared
        • 03.Adnc.Core.Shared
          • 04.Adnc.Infr.Common
            • 10.Adnc.Infr.Gateway
              • 11.Adnc.Infr.HealthCheckUI
                • 20.Adnc.Infr.Consul
                  • 21.Adnc.Infr.EasyCaching
                    • 22.Adnc.Infr.EfCore
                      • 23.Adnc.Infr.Mongo
                        • 24.Adnc.Infr.RabbitMq
                        • Adnc.Portal 微服务相关工程
                        相关产品与服务
                        消息队列 TDMQ
                        消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档