# y-lottery **Repository Path**: godY/y-lottery ## Basic Information - **Project Name**: y-lottery - **Description**: No description available - **Primary Language**: Go - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-09-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # y-lottery #### 项目介绍 **y-lottery**是一个*相对完整*的**lottery sale system**,*几乎*包含了lottery sale on network的全部基础模块(后台)。 `由于某些众所周知、不为人知、不知所以的XXX原因,某些内容采用缩写或者E文` #### 核心业务介绍 用户可以通过network购买Lty,完成和线下buy lty类似的体验。 #### 业务系统 >业务系统是组成产品的基础系统,一般对产品的终极目标负责。 ##### 核心业务系统 >产品:必须拥有的基础系统,如果没有此系统,产品的终极目标将不能正常的实现,或者不能完整的实现。 >用户:用户需求完全不能实现或者不能完整的实现。 >注意:通常核心业务系统数量=1,比如仅有一个用户系统的实现,但是可以部署N份。 1. User System 用户 2. Account System 账户 3. Order System 订单 4. Print System 打票 5. Win System 开奖 6. Bonus System 奖金 7. Issue System 彩期 8. Pay System 支付 9. Withdraw System 提现 ##### 非核心业务系统 >产品:功能拓展或增强性系统,对核心系统中某功能的拓展,一般属于某些系统的子系统,或者作为插件系统存在。无此系统,不影响产品的终极目标或影响极小。注意,此系统不能违背产品的终极目标。 >用户:提升用户体验。 >注意:通常非核心业务系统数量>=1,比如短信系统,分别接入了短信通道A,B,C。A=master,B,C=slave,A,B,C同样可以部署N份。 1. Sms System 短信 2. Email System 邮件 3. Push System 推送 4. Analysis System 数据分析 5. Score System 积分 6. Coupon System 优惠券 #### 非业务系统 >非业务系统*一般*和产品、用户无关(不要钻牛角尖),属于软件设计层面的系统。 >这里一般包含两层含义: >1.尽量保证和业务无关,于业务松耦合或无耦合,和数据或者协议紧耦合,这样无论是任何系统都可以相对简单的接入非业务系统。\ >2 非业务系统一般可以包含在任何产品中,也就是说,这些系统都对任何产品都是通用的。 >产品:无感知,对产品来说,不是充要条件。 >用户:透明,用户不需要知道有此系统。 >注意:通常非业务系统数量>=1,比如监控系统,可以有用户监控系统A,订单监控系统B,也可以做一个统一的中心监控系统C。无论哪种方案,A,B,C同样可以部署N份。 1. Monitor System 监控 2. Log System 日志 3. Traceing System 追踪 4. Config System 配置 5. Api GateWay System api网关 6. EventCenter System 事件中心 7. Operation Support System 运营支撑 #### 总结 注意:并不是核心>非核心>非业务,3者划分维度不同。 按照对产品目标的贡献程度划分为:核心、非核心。 按照是否业务强相关分为:业务,非业务。 >要保证产品的功能输出,就必须完善核心业务系统。 >要提升用户体验,就必须努力开发非核心业务系统。 >要保证产品可以持续的给用户提供服务(通常指产品可用性),就必须完善非业务系统。 >不要对号入座,因为世界在不断变化。 栗子: 非核心系统一般对产品目标贡献较少,但是对提升用户体验通常有很大的贡献,在产品功能同质化非常严重的今天,拓展思路,从非核心系统下手,可能获得更好效果。比如增加了某些边缘化的功能或者tips,可以提升了用户体验,增加了对产品的正反馈,进而提升产品的影响力,从而最终达到产品的终极目的。 非业务系统同理,比如,用户数量剧增,用户查询订单缓慢无比,原本用户查看订单需要调用3个接口,增加了api gateway,改为api gateway的聚合调用,api gateway调用3个接口(server->server速度快很多,而且网络可控),一次性返回给client,吞吐量提高,响应时间减少,保证了核心功能的可用性,用户体验会更好,最终达到产品的终极目的。(注:采用api gateway不一定会减少响应时间,比如一共就10个用户,无大流浪峰值,原核心系统运行稳定,如果此时增加了api gateway,响应时间可能会更慢或无明显变化。) #### 软件架构 软件架构说明