# learngit **Repository Path**: pgc0519/learngit ## Basic Information - **Project Name**: learngit - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 技术架构:SpringCould+SpringBoot+Git+Java8+MySql+Redis+Maven+Kafka+Spring Data JPA ### 项目描述 对于已经熟悉互联网应用的人来说,优惠券是最常见的东西了。除了一些小商家外,淘宝、京东基本上每天都会有大量的优惠券对外发放,吸引用户抢领并用于消费。但是优惠券并不是互联网发明的,由来已久,它本身是一个商业行为,本系统使用微服务开发模式,将优惠卷系统拆分为三个主要服务模块 ### 服务描述 **模板微服务**:由运营人员创建优惠卷模板,之后再去生成对应数量的优惠卷,最后用户去领取优惠卷,这个微服务的核心功能都是围绕优惠卷模板的,运营人员设定好条件比如:名称,logo分类,数量,规则等后台异步创建优惠卷模板 **分发微服务**:用户领取优惠卷,从模板服务中获取到的优惠卷模板,并不一定都是可以领取的,需要去对比优惠卷模板的相关限制 **结算微服务**:结算微服务只提供一个功能,根据优惠卷类型结算优惠卷,结算时根据用户可用的最大面额优惠卷进行使用判断用户是否使用 **网关服务** :使用Zuul实现负载均衡,服务熔断,限流 1. _负载均衡_ :后端服务启动时候会将自己的服务地址注册到注册中心,并和注册中心保持心跳,网关用过监听注册中心来进行服务的发现,并根据一定的负载均衡算法(随机、轮询、权重、hash等)将客户端的请求尽量均衡地转发到后端的各个服务中 2. _服务熔断_ :阻止消费方向故障服务发送请求,直接返回失败或者执行消费方的降级逻辑。断路器通常在一定时间后关闭,在这期间可以为底层服务提供足够的空间来恢复 3. _限流_ :限流的主要目的是防止类似DDos的恶意攻击导致服务器短时间内收到大量请求而造成的服务瘫痪。因此需要在接口层面做流量的控制,API网关统计一个时间窗口内针对某服务的请求数量,如果超过一定的阈值,则应拒绝继续转发请求到后端服务 ### 项目职责: 1. 负责结算微服务模块开发 2. 参与数据库设计 ### 标题