系列目录 【已更新最新开发文章,点击查看详细】
开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。
如果表述不恰当的地方,请及时告知我,谢谢。
10、Furion【国产,入选GVP】
Furion项目的作者【富察宏磊】是一位90后的优秀IT人才。
Furioin 是一款基于.NET5技术开发的功能强大、性能极致、文档完善、示例丰富、极易入门、快速开发、极易维护的Web框架。
功能模块
框架特点
全新面貌:基于 .NET 5
平台,没有历史包袱
极易入门:只需要一个 Inject()
即可完成配置
极速开发:内置丰富的企业应用开发功能
极少依赖:框架只依赖两个第三方包
极其灵活:轻松面对多变复杂的需求
极易维护:采用独特的架构思想,只为长久维护设计
完整文档:提供完善的开发文档
国外文档:https://furion.pro
开源地址
Furion 视频教程:https://space.bilibili.com/695987967
Furion 使用例子:https://gitee.com/monksoul/furion-samples 可能大部分示例已经不通用
Furion 系列教程:《学 .NET 5 从 Furion 开始》 系列
运行环境
数据库
应用部署
作者的其他优秀开源项目
基于Furion的开源案例
Furion
的通用权限管理平台。Furion
的在线考试系统Furion
+ Blazor
的超简单后台管理系统Furion
+ Layui
的通用型管理系统Furion
+ PearAdmin
管理系统Furion
+ iviewadmin
开发的管理系统Furion
+ Vue
开发的移动电商项目9、基于 ASP.NET Core 构建可热插拔的插件化系统
插件化架构,又称微核架构,指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现的架构。
插件化架构一般有两个核心概念:
内核通常只包含系统运行的最小功能,以及定义插件必须符合的接口;插件则是互相独立的模块,一般只包含单一的功能。
插件化技术并不是一个新兴的技术,早期很多基于COM开发的WIN32程序其实都是插件化的系统。在.NET/.NET Core中,也有许多插件化的实现方案,例如,开源框架ABP, 开源的内容管理系统DotNetNuke, 电子商务框架NopCommerce。
《.NET Conf 2020 - 基于ASP.NET Core构建可热插拔的插件化系统》
作者:Lamond Lu
项目地址:https://github.com/lamondlu/CoolCat
博客:http://www.cnblogs.com/lwqlun
《从零开始实现 ASP.NET Core MVC 的插件式开发》系列博客:https://mp.weixin.qq.com/s/uOtvUHkCoMu8cpnsjX4Gpg
8、携程 Apollo
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。
Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。
.Net客户端不依赖任何框架,能够运行于所有.Net运行时环境,参考《.Net客户端使用指南》。
更多产品介绍参见Apollo配置中心介绍。
本地快速部署请参见Quick Start。
产品特性
统一管理不同环境、不同集群的配置
配置修改实时生效(热发布)
版本发布管理
灰度发布
权限管理、发布审核、操作审计
客户端配置信息监控
提供Java和.Net原生客户端
提供开放平台API
部署简单
Gitee地址:https://gitee.com/lepdou/apollo
7、轻量级配置中心AgileConfig
基于.NetCore开发的轻量级(相对Apollo而言)配置中心,部署简单、配置简单,使用简单,可以根据个人或者公司需求采用。
配置完成后即可进入系统
GitHub地址:https://github.com/kklldog/AgileConfig
GitHub中文文档:https://github.com/kklldog/AgileConfig/blob/master/README_CN.md
开发作者的文章:https://www.cnblogs.com/kklldog/p/agile-config.html
参考博客:https://mp.weixin.qq.com/s/Cah7GgpkDa5XJxfLM_7Z8A
6、基于ASP.NET Core构建可热插拔的插件化系统
插件化架构,又称微核架构,指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现的架构。
插件化架构一般有两个核心概念:
内核通常只包含系统运行的最小功能,以及定义插件必须符合的接口;插件则是互相独立的模块,一般只包含单一的功能。
插件化技术并不是一个新兴的技术,早期很多基于COM开发的WIN32程序其实都是插件化的系统。在.NET/.NET Core中,也有许多插件化的实现方案,例如,开源框架ABP, 开源的内容管理系统DotNetNuke, 电子商务框架NopCommerce。
《.NET Conf 2020 - 基于ASP.NET Core构建可热插拔的插件化系统》
作者:Lamond Lu
项目地址:https://github.com/lamondlu/CoolCat
博客:http://www.cnblogs.com/lwqlun
《从零开始实现 ASP.NET Core MVC 的插件式开发》系列博客:https://mp.weixin.qq.com/s/uOtvUHkCoMu8cpnsjX4Gpg
5、eShopOnWeb
eShopOnWeb 是微软官方基于 ASP.NET Core 5.0 构建的一个示例项目,其主要目的是:
eShopOnWeb 与另外一个eShopOnContainers互相补充。eShopOnContainers是基于微服务和容器技术的应用程序架构,支持多重部署。而eShopOnWeb相较于它就简单的多,其是基于传统Web应用开发,仅支持单一部署。
eShopOnWeb 应用了DDD和整洁架构的部分思想。
开源地址:https://github.com/dotnet-architecture/eShopOnWeb
电子书:https://docs.microsoft.com/zh-cn/dotnet/architecture/modern-web-apps-azure
4、eShopOnContainers
eShopOnContainers是微软官方出品,运行在Linux、Windows和macOS上的跨平台.NET微服务示例和基于容器的应用程序。由.NET5、Docker容器和Azure Kubernetes服务提供支持。
简单来说:eShopOnContainers 是一个简化版的基于.NET Core 和 Docker 等技术开发的面向微服务架构的参考应用。
虽然是简化版的微服务参考示例,但对没接触过Docker、DDD、微服务的开发者来说,并不简单。其中不仅包含了很多术语、设计模式、架构风格,还使用了一系列的常见技术(RabbitMQ、EventBus、IdentityServer4、Polly、Api Gateway、Redis、CQRS、CAP、CI/CD等),还有一些相关工具(Docker、K8S等)。所以这将是一个难啃的骨头。
eShopOnContainers作为跨平台的微服务架构,得益于.NET Core 能够在 Linux 或 Windows 容器上运行。其包含基于浏览器的Web应用、基于Xamarin的Android、IOS、Windows/UWP 移动应用,以及服务端应用。其中服务端包含多个自治微服务(每个都拥有自己的数据/ db),并且每个微服务都有不同的实现形式(简单的CRUD与DDD / CQRS模式)。使用Http作为客户端应用程序之间的通信协议。支持异步通信,使用Integration Events(集成事件)和Event Bus(事件总线)进行数据更新传播。
系统架构图
从上图可知,该架构主要包括两个部分:客户端应用和Docker主机中运行的服务端应用。
其中服务端主要包括六大微服务:
另外从上图我们还可以清晰看出其通信架构:
系统运行效果图
开源地址:https://github.com/dotnet-architecture/eShopOnContainers
3、ABP
ABP是用于创建现代Web应用程序的完整架构和强大的基础设施!遵循最佳实践和约定,为你提供SOLID开发经验。它的设计目标是对标 Java 平台 Spring 全家桶。
下图展示了其强大的功能:
所有功能列表:
完善的开发文档:https://docs.abp.io/zh-Hans/abp/latest/Getting-Started
2、Dapr 分布式应用框架【微软出品】
Dapr是微软官网出品的一种可移植的,事件驱动的,无服务器运行时,用于构建跨云和边缘的分布式应用程序。
Dapr通过通信共享信息,即 HTTP 和 gRPC 支持多语言等特性。
Dapr与语言无关,可以在任何托管环境上运行,包括本地开发机器、Kubernetes和公共云(如AWS、Azure和GCP)。通过利用SDK或进行简单的HTTP或gRPC调用,将Dapr与您选择的语言结合使用。
1、Viper 微服务框架
Viper 是一个基于Anno微服务引擎开发的Dashboard项目、示例项目。Anno 底层通讯采用 grpc、thrift。自带服务发现、调用链追踪、Cron 调度、限流、事件总线等。入门简单、安全、稳定、高可用、全平台可监控。底层通讯可以随意切换。
Anno 是一个分布式开发框架,同时支持 .net core3.1 、.net frameworker4.6.1。
开源地址:https://github.com/duyanming/Viper
参考文献:
系列目录 【已更新最新开发文章,点击查看详细】
手机扫一扫
移动阅读更方便
你可能感兴趣的文章