vivo全球商城:电商交易平台设计】的更多相关文章

vivo官网商城开发团队 - Zhou Longjian 一.背景 随着O2O线上线下业务的不断扩展,电商平台也在逐步完善交易侧相关的产品功能.在最近的需求版本中,业务方为进一步提升用户的使用体验,规划了取货码生成及订单核销相关逻辑,目的是让线上的用户在付完款之后能够到店取货或者安排导购派送. 日常生活中,我们对取货码.核销这类功能使用的经历大部分都来自:看电影前取票.吃饭后出示券码.快递柜取包裹等等,它们都有一些类似的特点,比如: 取货码长度相对较短,比起动辄十几二十位订单号,几位的数字码更方…
一.背景 现在日常官网商城的运营中有一定概率出现以下两个问题: 1)优惠信息未对齐 官网商城促销优惠的类型越来越多,能影响最终用户实付价的优惠就有抢购.满减.优惠券.代金券等.实际业务操作中存在不同促销优惠由不同运营配置的情况,如果运营间内部没有对齐的情况下,就会出现正常情况下不会同时设置的优惠被用户叠加享受,出现最终实付价低于成本价的可能. 2)优惠价格配错 在日常或大促优惠配置中,存在一定的概率会配错优惠价格(比如一口价少了个0,这就相当于在原来预期的优惠价基础上打了一折),这种情况一旦发生…
一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券就是其中核心模块之一.随着商城的发展及用户量的提升,优惠券做了服务拆分,成立了独立的优惠券系统,提供通用的优惠券服务.目前,优惠券系统覆盖了优惠券的4个核心要点:创.发.用.计. "创"指优惠券的创建,包含各种券规则和使用门槛的配置. "发"指优惠券的发放,优惠券系统提…
一.前言 随着用户量级的快速增长,vivo官方商城v1.0的单体架构逐渐暴露出弊端:模块愈发臃肿.开发效率低下.性能出现瓶颈.系统维护困难. 从2017年开始启动的v2.0架构升级,基于业务模块进行垂直的系统物理拆分,拆分出来业务线各司其职,提供服务化的能力,共同支撑主站业务. 商品模块是整个链路的核心,模块的增多严重影响系统的性能,服务化改造势在必行. 本文将介绍vivo商城商品系统建设的过程中遇到的问题和解决方案,分享架构设计经验. 二.商品系统演进 将商品模块从商城拆分出来,独立为商品系统…
一.背景 官网商城在双11.双12等大促期间运营同学会精心设计许多给到用户福利的促销活动,当促销活动花样越来越多后就会涉及到很多的运营配置工作(如指定活动有效期,指定活动启停状态,指定活动参与商品等等). 如果因为某些原因导致其中部分配置未按预期配置,等到大促那一刻才发现配置没有正确配置,这样大概率会流失不少订单,同样也可能会出现错配优惠导致一些本不该享受的优惠也被用户享受到,可能会给商城带来比较大的损失,因此为了尽量减小前面这些情况的发生的概率,我们就想能不能提供一种能力,让运营同学在重要的电…
个人观察 1.通过系统和业务拆分,遵循单一职责原则SRP,保障整个系统的可用性和稳定性. 2.单一职责原则SRP,真的很关键,广大程序员需要不断深入理解这个原则. 3.架构图是架构师的重要输出,通过图可以直观地看出整个架构思路. 本文转载于 <程序员>2014年11月刊:电商峰值系统架构设计 原文链接:http://www.csdn.net/article/2014-11-04/2822459 该做什么的就做什么 保障整个系统的可用性和稳定性,第一步需要做 的就是,使整体架构清晰化.层次化.那…
一.背景 随着经济全球化的深入,许多中国品牌纷纷开始在海外市场开疆扩土.实现全球化意味着你的产品或者应用需要能够在全球各地的语言环境使用,我们在进行海外业务的推进时,需要面对的最大挑战就是多语言问题.实现好多语言系统的本地化,更方便快捷的修改多语言文案能让你的产品在各个国家地区里有更强的产品竞争力和更好的用户体验以及更低的维护成本.以此为目标,在vivo外销项目的发展过程中我们经过多次迭代,最终结合公司中间件的能力,实现了一套完整的多语言解决方案. 二.多语言文案系统的优势 2.1 传统的多语言…
ecshop订单表结构ecs_order_info说明 -- 表的结构 `ecs_order_info`    CREATE TABLE IF NOT EXISTS `ecs_order_info` (  `order_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '订单详细信息自增id',  `order_sn` varchar(20) NOT NULL COMMENT '订单号,唯一',  `user_id` medium…
[用户模块] 账户登录:邮箱/用户名/已验证手机 密码 如果将所有字段都放到一张表里存储? 数据插入异常        只想插入一个值的  由于需要主键信息,插入的一行变成新的一行,和原来的记录无关. 数据更新异常 只想更新一个值的时候 不得不更新多行   文件锁机制可能造成用户无法登录. => 可以把范围缩小到另一张表操作. 数据删除异常 只删一个值    不得不把无关的数据一起删了 核心的问题就在于   [数据冗余出错了!], 函数依赖  function(arg-1)   <- func…