# microservice **Repository Path**: myacme/microservice ## Basic Information - **Project Name**: microservice - **Description**: 微服务示例,nacos,rocketMQ,openFegin - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-01 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微服务电商平台核心系统 ## 项目概述 本项目是一个基于Spring Cloud的分布式电商平台核心系统,采用微服务架构模式,包含用户服务、商品服务、订单服务和支付服务等核心模块。系统使用Redis作为缓存和分布式锁,消息队列处理异步任务,Nacos作为服务注册与配置中心。 ## 技术栈 - **基础框架**: Spring Boot 3.3.4, Spring Cloud 2023.0.3 - **微服务治理**: Nacos (服务注册与配置中心) - **数据库**: MySQL - **ORM框架**: MyBatis-Plus - **服务通信**: OpenFeign - **流量控制**: Sentinel - **缓存**: Redis - **消息队列**: RocketMQ - **分布式锁**: Redisson - **负载均衡**: Ribbon - **开发语言**: Java 17 ## 项目结构 ``` microservice/ ├── common/ # 公共模块 │ └── utils/ # 工具类 ├── model/ # 数据模型模块 │ └── beans/ # 实体类 ├── services/ # 微服务模块 │ ├── product/ # 商品服务 (端口: 8000) │ ├── order/ # 订单服务 (端口: 8001) │ └── pay/ # 支付服务 (端口: 8002) ├── pom.xml # 根项目依赖配置 └── README.md # 项目说明 ``` ## 微服务模块 ### 1. 商品服务 (product-service) - 端口: 8000 - 主要功能: - 商品信息管理 (CRUD) - 库存管理 - 商品详情查询 - 库存同步至Redis缓存 - 技术特性: - 使用Redis缓存商品信息 - 数据库读写操作通过MyBatis-Plus实现 ### 2. 订单服务 (order-service) - 端口: 8001 - 主要功能: - 订单创建 - 库存扣减 - 与其他服务交互(商品、支付) - 通过RocketMQ发送订单消息 - 技术特性: - 使用OpenFeign进行服务间调用 - Redis作为分布式锁和缓存 - RocketMQ异步消息处理 - Redisson分布式锁 ### 3. 支付服务 (pay-service) - 端口: 8002 - 主要功能: - 订单支付处理 - 消息队列消费 - 支付状态更新 - 技术特性: - RocketMQ消费者 - Redisson分布式锁 ## 核心功能特性 ### 分布式缓存 - 利用Redis缓存热点数据(用户信息、商品信息) - 提高系统响应速度和并发能力 ### 分布式锁 - 使用Redisson实现分布式锁 - 保证订单创建、库存扣减等关键操作的原子性 ### 消息队列 - 采用RocketMQ处理异步任务 - 解耦支付流程、系统日志收集、超时订单处理 ### 服务治理 - Nacos提供服务注册与发现 - 统一配置管理 ### 流量控制 - Sentinel实现限流、熔断、降级 - 保障系统稳定性 ## 服务间调用关系 - 订单服务通过OpenFeign调用商品服务获取商品信息 - 订单服务创建订单后通过RocketMQ向支付服务发送消息 - 各服务通过Nacos进行服务发现和注册 ## 部署说明 1. 启动Nacos服务器 2. 启动Redis服务器 3. 启动RocketMQ服务器 4. 按顺序启动各微服务(商品服务 -> 订单服务 -> 支付服务) ## 扩展功能 项目设计支持以下扩展功能: - 秒杀服务(可选) - 分布式事务解决方案(Seata) - 日志集中收集与分析(ELK) - 链路追踪(SkyWalking、Zipkin) ## 项目优势 1. **高可用性**: 基于微服务架构,单个服务故障不影响整体系统 2. **高并发**: 通过Redis缓存、分布式锁和消息队列提高并发处理能力 3. **可扩展性**: 微服务架构便于功能模块扩展和维护 4. **灵活性**: 技术栈选择灵活,可根据业务需求调整