Jcex.Infra.EventBus
6.0.0-preview20230607-1
dotnet add package Jcex.Infra.EventBus --version 6.0.0-preview20230607-1
NuGet\Install-Package Jcex.Infra.EventBus -Version 6.0.0-preview20230607-1
<PackageReference Include="Jcex.Infra.EventBus" Version="6.0.0-preview20230607-1" />
paket add Jcex.Infra.EventBus --version 6.0.0-preview20230607-1
#r "nuget: Jcex.Infra.EventBus, 6.0.0-preview20230607-1"
// Install Jcex.Infra.EventBus as a Cake Addin #addin nuget:?package=Jcex.Infra.EventBus&version=6.0.0-preview20230607-1&prerelease // Install Jcex.Infra.EventBus as a Cake Tool #tool nuget:?package=Jcex.Infra.EventBus&version=6.0.0-preview20230607-1&prerelease
<div align="center"></div>
<div align="center">Jcex是一个微服务开发框架</div>
Jcex基于Adnc维护的一个轻量级的.Net微服务开发框架,同时也适用于单体架构系统的开发。支持经典三层与DDD架构开发模式、集成了一系列主流稳定的微服务配套技术栈。一个前后端分离的框架,前端基于Vue、后端基于.Net构建。Webapi遵循RESTful设计规范、基于JWT认证授权、基于Maxscale实现了读写分离、部署灵活、代码简洁、开箱即用、容器化微服务的最佳实践。
- 用户中心:系统支撑服务,实现了用户管理、角色管理、权限管理、菜单管理、组织架构管理
- 运维中心:系统支撑服务,实现了登录日志、审计日志、异常日志、字典管理、配置参数管理
- 基础中心:系统支撑服务,实现了基础数据、产品渠道、服务商供应商管理
- 消息中心:系统支撑服务,实现了邮箱、企业微信、短信、消息发送管理
- 客户中心:经典三层开发模式demo
- 设备中心:统一设备数据接收管理
- 订单中心:DDD开发模式demo
- 运输中心:DDD开发模式demo
- 仓存中心:DDD开发模式demo
框架包含以下内容:
- IOC容器:基于 Autofac 组件,提供了IOC容器的支持,可以方便地管理应用程序中的各个组件。
- AOP拦截器:基于 Castle 组件,提供了AOP的支持,可以方便地实现各种横切关注点,如事务管理、日志记录、权限控制等。
- ORM框架:基于 EntityFrameworkCore 和 SqlSugar 框架,提供了ORM的支持,可以方便地访问和操作数据库
- 缓存支持:基于 Redis 缓存,提供了缓存的支持,可以提高应用程序的性能和响应速度。
- RESTful API支持:提供了RESTful API的支持,可以方便地实现Web服务。
- 代码生成器:提供了代码生成器的支持,可以自动生成控制器、模型和DAO等代码,提高开发效率(正在进行中)。
- 安全支持:提供了安全支持,可以方便地实现身份验证和授权控制。
- 日志支持:提供了日志支持,可以方便地记录应用程序的运行日志。
- 分布式文件支持:基于 Minio 分布文件存储服务,将指文件分布存储在多个不同的节点上,通过对文件进行管理、共享和访问的过程。
- 双向同步支持:基于 Canal 组件,提供了对监听数据库中 binlog 数据自动处理,实现多个数据库之间数据的双向同步。
框架拓展包
名称 | 版本 | 下载 |
---|---|---|
Jcex.Infra.Caching | ||
Jcex.Infra.Caching.SkyApm | ||
Jcex.Infra.Canal | ||
Jcex.Infra.Canal.RabbitMQ | ||
Jcex.Infra.Cap | ||
Jcex.Infra.Cap.Extensions | ||
Jcex.Infra.Cap.Oracle | ||
Jcex.Infra.Consul | ||
Jcex.Infra.Core | ||
Jcex.Infra.EfCore | ||
Jcex.Infra.EfCore.MySql | ||
Jcex.Infra.EfCore.Oracle | ||
Jcex.Infra.EfCore.PostgreSql | ||
Jcex.Infra.EfCore.SQLite | ||
Jcex.Infra.EfCore.SqlServer | ||
Jcex.Infra.EventBus | ||
Jcex.Infra.Hangfire | ||
Jcex.Infra.Helper | ||
Jcex.Infra.IdGenerater | ||
Jcex.Infra.Mapper | ||
Jcex.Infra.Minio | ||
Jcex.Infra.Mongo | ||
Jcex.Infra.Repository | ||
Jcex.Infra.SqlSugar | ||
Jcex.Infra.SqlSugar.MySql | ||
Jcex.Infra.SqlSugar.Oracle | ||
Jcex.Infra.SqlSugar.PostgreSql | ||
Jcex.Infra.SqlSugar.SQLite | ||
Jcex.Infra.SqlSugar.SqlServer | ||
Jcex.Shared | ||
Jcex.Shared.Domain | ||
Jcex.Shared.Application | ||
Jcex.Shared.Application.Contracts | ||
Jcex.Shared.WebApi |
框架脚手架
名称 | 版本 | 下载 |
---|---|---|
Jcex.Template.Api | ||
Jcex.Template.Mvc |
内容列表
安装
这个项目使用 Package。请确保你本地安装了它。
PM> Install-Package Jcex.Template.Api -Version 6.0.0
使用说明
这只是一个文档包,你可以打印出 spec.md 到输出窗口。
PM> Jcex.Template.Api
生成器
想要使用生成器的话,请看 generator-readme。
有一个全局的可执行文件来运行包里的生成器,生成器的别名叫 generator
。
文档
如何快速跑起来
- 详细介绍如何使用Docker安装Redis、Mysql、Rabbitmq、Mongodb,以及如何在本地配置ClientApp、ServerApi。<br/> 请点击链接,查看详细介绍
如何手动部署到服务器
- 详细介绍如何使用Docker安装配置Consul集群、Skywalking系列组件、相关项目的Dockerfile文件编写与配置以及如何将多个服务部署到服务器。<br/> 请点击链接,查看详细介绍)
如何使用Jenkins+Shell自动部署到服务器
- 详细介绍如何使用Jenkins+Shell实现按照预设的条件自动触发构建项目、测试、打包等过程以实现自动化部署。<br/> 请点击链接,查看详细介绍)
如何部署到K8S
- 详细介绍如果使用K8S部署服务容器,暴露服务和测试服务,定义部署的服务容器、服务、配置、卷。<br/> 请点击链接,查看详细介绍)
如何实现读写分离
- 详细介绍通过中间件实现读写分离以及EFCore基于中间件如何写代码。<br/> 请点击链接,查看详细介绍
如何使用Redis分布式锁布隆过滤器
- 详细介绍如何使用Cache、Redis、分布式锁以及布隆过滤器。如何配置Cache防止雪崩、击穿、穿透以及缓存同步。<br/> 请点击链接,查看详细介绍
如何动态分配雪花算法的WorkerId
- 详细介绍Yitter雪花算法的特点、配置以及如何动态获取WorkerId。<br/> 请点击链接,查看详细介绍
如何使用EFCore仓储
- 详细介绍EFCore仓储基础功能、工作单元、分布式事务、CodeFirst,提供了丰富的演示代码以及演示代码对应的Sql语句。<br/> 请点击链接,查看详细介绍
如何使用SqlSugar仓储
- 详细介绍SqlSugar仓储基础功能、工作单元、分布式事务、同作用域完成分布式事务、CodeFirst,提供了丰富的演示代码以及演示代码对应的Sql语句。<br/> 请点击链接,查看详细介绍
如何使用定时任务
- 详细介绍工作调度基础功能、存储任务信息,任务执行的状态和进度的监控。<br/> 请点击链接,查看详细介绍
如何使用数据总线消息队列
- 详细介绍数据总线基础功能、消息发布者和订阅者调用,用于协调不同系统或服务之间的分布式事务。<br/> 请点击链接,查看详细介绍
如何使用Mongo存储数据
- 详细介绍Mongo基础功能 CRUD 操作和软删操作,用于与 MongoDB 数据库进行交互。<br/> 请点击链接,查看详细介绍
如何使用分布式存储文件
- 详细介绍如何上传文件、下载文件、生成临时URL文件地址以及事件通知等功能。<br/> 请点击链接,查看详细介绍
如何使用Docker远程部署管理
- 详细介绍使用Docker远程终结点进行交互,旨在以非阻塞和面向对象的方式与Docker守护程序进行交互发布更新程序。<br/> 请点击链接,查看详细介绍
示例
想了解我们建议的规范是如何被应用的,请参考 example。
相关仓库
维护者
如何贡献
非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。
标准 Readme 遵循 Contributor Covenant 行为规范。
贡献者
感谢以下参与项目的人: <a href="zoupengfei-lab/jcex"><img src="https://contributors-img.web.app/image?repo=zoupengfei-lab/jcex" /></a>
使用许可
MIT © Richard Littauer
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- DotNetCore.CAP (>= 6.0.0)
- Jcex.Infra.Core (>= 6.0.0-preview20230607-1)
- Polly (>= 7.2.3)
- RabbitMQ.Client (>= 6.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|