内容纲要
前言
adnc
是一个完全可落地的 .NET 8
微服务/分布式框架,集成了多种主流、稳定的微服务配套组件。在本地调试时,仅需安装必要的软件,包括 MariaDB
或 MySQL
、Redis
和 RabbitMQ
,可采用任意熟悉的方式进行安装,或使用已有的环境。
此外,服务的自动注册、发现、配置中心及链路跟踪等功能,在调试环境下不会启用,因为代码中已做了环境变量判断。安装完必备软件后,仅需修改配置文件中的相关连接字符串,即可运行项目。
- 所有服务的数据库脚本存放于 ***
adnc\doc\dbsql\adnc.sql
***,请自行导入。
1. 环境说明与配置
在开发环境下,adnc
所有服务的公共配置存放于 adnc\src\Demo\Shared\resources\appsettings.shared.Development.json
文件,例如 Redis
、RabbitMQ
配置。
各服务的特有配置存放在对应 API
工程的 appsettings.Development.json
文件中,例如数据库和服务端口的配置。
- Redis 配置
"Redis": {
"Provider": "StackExchange",
"EnableLogging": true,
"SerializerName": "json",
"EnableBloomFilter": false,
"Dbconfig": {
"ConnectionString": "服务器IP地址:端口,password=密码,defaultDatabase=0,ssl=false,sslHost=null,connectTimeout=4000,allowAdmin=true"
}
}
- RabbitMQ 配置
"RabbitMq": {
"HostName": "服务器IP地址",
"Port": "端口",
"VirtualHost": "/",
"UserName": "用户名",
"Password": "密码"
}
- SysLogDb配置
"SysLogDb": {
"DbType": "mysql",
"ConnectionString": "Server=服务器IP地址;Port=端口;database=adnc_syslog;uid=用户名;pwd=密码;connection timeout=30;"
}
- MariaDB/MySQL 配置
"Mysql": {
"ConnectionString": "Server=服务器IP地址;Port=端口;database=adnc_admin;uid=用户名;pwd=密码;connection timeout=30;"
}
2. 启动后端
-
在
Visual Studio 2022
中,右键解决方案 -> 属性 -> 项目启动 -> 多个启动项目,选择以下 4 个项目:Adnc.Gateway.Ocelot
Adnc.Demo.Admin.Api
Adnc.Demo.Maint.Api
Adnc.Demo.Cust.Api
注意:实际开发过程中不必一次性启动所有服务,此处仅用于快速在本地运行项目。
-
在
Visual Studio 2022
主界面,点击 启动 按钮,成功后 3 个服务和网关将会启动。 -
若启动报错,优先查看 控制台窗口 的错误信息,常见问题如下:
- RabbitMQ 端口配置错误:RabbitMQ 公开两个端口,一个用于 Web 管理页面,另一个用于数据通信,配置文件中应填写数据端口。
- 服务端口冲突:可能与企业微信端口或其他已占用端口冲突。
工程名 | 描述 | URL 地址 |
---|---|---|
Adnc.Gateway.Ocelot | 网关 | http://localhost:5000 |
Adnc.Demo.Admin.Api | 系统管理 | http://localhost:50010 |
Adnc.Demo.Maint.Api | 运维管理 | http://localhost:50020 |
Adnc.Demo.Cust.Api | 客户管理 | http://localhost:50030 |
3. 启动前端
- 使用
Visual Studio Code
打开前端项目adnc-vue-elementplus
,前端基于Vue 3
开发,需要安装相关依赖。 - 运行以下命令进行环境配置:
# 安装 pnpm
npm install pnpm -g
# 可选:设置国内镜像源
pnpm config set registry https://registry.npmmirror.com
# 安装依赖
pnpm install
# 启动前端项目
pnpm run dev
4. 结语
至此,adnc
框架已成功在本地运行!
如果觉得本项目对你有帮助,欢迎 Star
& Fork
支持!
ADNC —— 一个可落地的 .NET 微服务/分布式开发框架。
做的不错喔!
谢谢夸奖
首先感谢分享
请问部署MongoDB是必须的吗,后面有支持多租户打算么?
1、MongoDB 目前仅用来存放登录日志与操作日志,可以根据自己实际情况调整即可。
adnc 日志分为三种
登录日志=>mongodb
操作日志=>mongodb
Nlog日志=>loki
2、目前没有支持多租户的计划。
写的很好哇大佬,nodejs的版本不能用最新的18版本我觉得可以标识一下,作为只做后端的我简直是毁灭性打击,折腾了一天才发现node-sass版本对不上
建议不错,是要标注下NODEJS版本只支持16.xx版本。
顶一个
赞一个,感谢你为dotnet的发展添砖加瓦~!
学习了,很厉害~ 顶! 顶! 顶!
谢谢夸奖
运行的时候,报一下错误,请问是什么情况呢?
AuthenticationFailureException: ACCESS_REFUSED – Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
应该是rabbitmq没有配置好。