# shop **Repository Path**: sunpp125/shop ## Basic Information - **Project Name**: shop - **Description**: springboot + cloud 整合 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-07-11 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目简介 1. 此商城项目,使用spring cloud 全家桶进行开发 2. 事务处理使用两种:强一致性(TCC),最终一致性(EDA) ## 使用技术 1. java 8 : 使用lambda表达式,简化写法 1. lombok : 简化java bean的写法 1. docker-maven-plugin : 直接生成Dockerfile (本地需更换成阿里云镜像,速度和成功率会提升很多) 1. H2 : 内存式数据库,减少DB依赖 (正式环境时,可以直接切换至MYSQL) 1. spring cloud eureka : 用于服务注册发现 1. spring data jpa : 数据库底层连接技术 1. spring mvc : 访问控制层技术 1. spring cloud robbin : 使用客户端负载均衡,进行服务提供者的调用 1. spring cloud feign : 分装了ribbon的使用,直接使用注解的方式,进行调用 1. spring boot actuate : spring boot项目的健康检查,此项目整合了应用服务的健康状态 1. spring security : 权限管理 1. spring cloud zuul : 网关服务,用来聚合和管理底层微服务接口 1. spring cloud config : 集中配置管理,整合各个微服务下的不同配置文件 1. spring cloud zipkin : 微服务调用监控系统,可以监听整个调用连 ### 业务分级 此项目分为四个核心模块: 1. 用户模块(user-service): 1. 积分模块(score-service): 1. 产品模块(product-service): 1. 订单模块(order-service): ### 核心模块分层: {模块名}-service-api: 微服务的模块api定义 {模块名}-service-core: 微服务的模块业务逻辑实现 ## 注解标签: 1. @SpringBootApplication 启动类 1. @EnableEurekaServer 开启Eureka服务(注册中心) 1. @EnableZipkinServer 开启Zipkin服务(调用连服务) 1. @EnableConfigServer 开启Config服务(配置中心) 1. @SpringCloudApplication注解相当于@SpringBootApplication @EnableDiscoveryClient@EnableCircuitBreaker 1. 其实用更简单的话来说,就是如果选用的注册中心是eureka,那么就推荐@EnableEurekaClient, 1. 如果是其他的注册中心,那么推荐使用@EnableDiscoveryClient。 1. @EnableCircuitBreaker 消费者服务熔断机制,(zuul)一般自定义类实现fallback接口,配置文件添加feign.hystrix.enabled=true #熔断器 1. @FeignClient(name = "user-service", fallback = UserServerRemoteHystrix.class) 消费者调用 1.