项目简介
本项目是一个基于.NET Core和React的微服务架构案例,旨在展示如何使用微服务架构来构建一个复杂的应用程序。项目包含了多个微服务,每个微服务负责不同的功能模块,并通过API网关进行统一管理和调度。前端使用React框架进行开发,实现了用户界面的动态交互和数据展示。
项目的主要特性和功能
- API网关:作为所有微服务的入口,负责请求的转发和负载均衡,使用ASP.NET Core构建,集成了Ocelot作为API网关和服务网格解决方案。
- 服务发现与配置管理:实现服务的自动发现和配置管理,使用Consul作为服务发现和配置管理工具。
- 消息队列:用于微服务之间的异步通信,使用EasyNetQ作为RabbitMQ的客户端库,简化消息的发布和订阅。
- 爬虫服务:从特定网站爬取数据并存储到数据库中,使用HtmlAgilityPack进行网页内容的解析,MongoDB作为数据存储。
- ETL任务处理:接收爬虫服务的数据,进行数据清洗和转换,并存储到关系型数据库中,使用MySQL作为关系型数据库,MongoDB作为数据源。
- 报告服务:提供数据汇总和报告生成功能,使用ASP.NET Core构建,提供RESTful API接口。
- 消息推送服务:实现实时消息推送功能,使用SignalR进行实时通信。
安装使用步骤
环境准备
- 安装.NET Core SDK(建议版本5.0及以上)。
- 安装Node.js和npm(用于前端开发)。
- 安装MongoDB和MySQL数据库。
- 安装RabbitMQ消息队列。
- 安装Consul服务发现工具。
复制项目
bash
cd micro-ddd-shell
配置文件
在appsettings.json
文件中配置数据库连接字符串、RabbitMQ连接URL、Consul地址等信息。
启动服务
- 启动API网关服务:
bash cd code/Micro.DDD/Micro.DDD.APIGateway dotnet run
- 启动其他微服务(如爬虫服务、ETL任务处理服务、报告服务等):
bash cd code/Micro.DDD/Micro.DDD.Crawler dotnet run
- 启动前端React应用:
bash cd frontend npm install npm start
访问应用
打开浏览器,访问http://localhost:3000
(假设前端应用运行在3000端口)。
通过以上步骤,您可以成功运行并使用本项目。每个微服务都可以独立部署和扩展,通过API网关进行统一管理和调度,实现了微服务架构的优势。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】