# hmall-spring-cloud **Repository Path**: ewaaa/hmall-spring-cloud ## Basic Information - **Project Name**: hmall-spring-cloud - **Description**: hmall-spring-cloud 是一个基于分布式微服务架构的综合性电商购物平台项目,整合了当下主流的微服务技术栈,致力于打造高可用、高性能、可扩展的电商解决方案。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-02 - **Last Updated**: 2025-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, ElasticSearch, RabbitMQ, nacos, SpringCloud ## README # hmall-spring-cloud #### 项目简介 hmall-spring-cloud 是一个基于分布式微服务架构的综合性电商购物平台项目,整合了当下主流的微服务技术栈,致力于打造高可用、高性能、可扩展的电商解决方案。 技术栈: 核心框架:Spring Boot、Spring Framework、Spring MVC 微服务生态:Spring Cloud、Spring Cloud Alibaba 服务治理:Nacos 服务调用:OpenFeign API 网关:Spring Cloud Gateway 流量控制与熔断:Sentinel 分布式事务:Seata 消息队列:RabbitMQ 搜索引擎:ElasticSearch 持久层框架:MyBatis、MyBatis-Plus 数据库:MySQL 反向代理与负载均衡:Nginx 认证授权:JWT(JSON Web Token) #### 项目概述: 本项目构建了一个功能完备的购物商城平台,涵盖了用户登录、购物车管理、订单处理、支付流程、商品管理等核心电商业务功能。同时,借助 ElasticSearch 的强大搜索能力,实现了高效、精准的商品搜索服务。 #### 详细技术实现: **分布式微服务架构** :项目采用分布式微服务架构设计,将整个电商系统拆分为多个独立的服务模块,每个模块专注于特定的业务功能,实现了系统的高内聚、低耦合,提高了系统的可维护性和可扩展性。 **服务注册与配置管理** :利用 Nacos 作为服务注册中心,实现了服务的自动注册与发现,使得各个微服务能够动态地感知彼此的存在,方便地进行服务间的调用。同时,Nacos 还提供了配置管理功能,支持配置的热更新,无需重启服务即可生效,大大提高了系统的运维效率。 **服务间调用** :采用 OpenFeign 进行服务间的远程调用,它基于声明式的 REST 客户端,简化了服务调用的代码编写。通过 OpenFeign,服务之间可以方便地传递 JWT 解析后的用户信息,实现了用户身份的跨服务传递,确保了业务逻辑的连贯性。 **API 网关与认证授权** :使用 Spring Cloud Gateway 作为 API 网关,对各个微服务进行统一的路由管理。同时,在网关层面实现了基于 JWT 的登录校验机制,对外部请求进行身份验证和授权,确保只有合法的请求才能访问后端服务,增强了系统的安全性。 **微服务保护** :引入 Sentinel 流量控制组件,对微服务进行流量控制、服务熔断等保护措施。通过设定合理的限流规则和熔断策略,Sentinel 能够在系统面临高并发请求时,自动限制请求流量,防止系统过载;当某个服务出现故障时,及时熔断该服务,避免故障的扩散,保障了整个微服务集群的稳定运行。 **分布式事务管理** :采用 Seata 分布式事务框架,解决了微服务架构下分布式事务的一致性问题。Seata 提供了 XA,AT 模式,通过在各个微服务中嵌入 Seata 的代理数据源,实现了对分布式事务的透明管理,确保了多个微服务之间的数据操作能够保持最终一致性。 **消息队列应用** :使用 RabbitMQ 作为消息队列中间件,实现了服务的异步调用,提高了系统的响应速度和处理性能。同时,为了提高消息队列的可靠性,项目采用了发送者重连、消息确认、消费者失败重试以及业务幂等性处理等机制,确保消息能够准确无误地被处理。此外,利用 RabbitMQ 的延迟消息功能,实现了超时取消订单的业务需求,进一步优化了订单处理流程。 **搜索引擎优化** :基于 ElasticSearch 构建了商品搜索系统,实现了对十万级商品数据的高效存储、管理、搜索和聚合操作。ElasticSearch 凭借其强大的分布式搜索和数据分析能力,大幅提高了商品查询的性能,将查询耗时稳定在毫秒级,能够快速响应用户的搜索请求,为用户提供精准的搜索结果。 通过以上技术的综合应用,使得hmall-spring-cloud 项目具备了高并发处理能力、良好的扩展性和可靠性,能够满足电商业务在复杂场景下的需求,为电商企业提供了一个稳定、高效的业务支撑平台。 ## Recommended IDE Setup [IntelliJ IDEA](https://www.jetbrains.com/zh-cn/idea/) + [Maven](https://maven.apache.org/) ## Project Setup 1. package -> .jar 2. java -jar package