写点什么

苏宁大促高并发要求下的售后服务运营能力承诺服务系统架构实战

  • 2018-11-09
  • 本文字数:3047 字

    阅读完需:约 10 分钟

苏宁大促高并发要求下的售后服务运营能力承诺服务系统架构实战
前言

苏宁售后服务运营能力承诺服务系统(简称“ASAP”)是物流研发中心建设的针对苏宁售后服务的时效承诺管理和服务运营能力管理的核心支撑系统,ASAP 系统经历两年多的线上考验与技术迭代,目前服务着成万级商家,亿级 SKU。

系统定位及核心业务场景分析

首先介绍一下系统的定位,苏宁售后服务运营能力承诺服务系统(ASAP,下称“系统”),是售后服务能力的“库存系统”,主要为售后服务的服务时效承诺和运营服务能力提供管理,与易购商城及线下门店的商品销售及售后服务履约相关联,系统定位为苏宁易购核心销售链路上的核心服务之一。在商品销售和售后服务履约过程,为消费者、苏宁客服、苏宁自营售后服务商、厂家售后服务商和平台售后服务商提供能力服务支撑,为售后服务能力均匀有序的释放提供了系统支撑,从而保障了售后服务质量


然后介绍一下系统的主要功能及业务模式,系统主要提供服务承诺和服务能力的实时接口查询,服务能力的实时增加和扣减接口服务。从业务模式上又分为苏宁自营售后服务、厂家售后服务、平台服务商售后服务,其中苏宁自营售后服务是指由苏宁自营的帮客公司提供的售后服务业务,厂家售后服务是指由商品的原厂商(比如海尔、华为)提供的售后服务业务,平台服务商售后服务是指由平台服务商(比如闪修侠)提供的售后服务,针对这三种业务类型,系统提供全面支撑。

系统的特点

库存系统主要面临以下几个挑战:


  1. 高并发,热点争抢 

  2. 涉及商品四级页的时效针对同一个商品,比如秒杀、团购、打折促销等活动商品,如何支撑高并发时效能力查询与扣减服务。

  3. 尽可能减少能力超扣,保证数据一致性

  4. 区别与实物商品库存,售后服务能力主要是为了减小下单环节的依赖,能力控制可以放宽限制,服务的能力异步扣除,允许并发情况的少量超扣,但从服务上要保证扣完后的实际能力与查询能力保持一致性,这是底线原则。

  5. 系统扩展性 

  6. 如何建设出可无限扩展的架构,在系统扩展过程中,各部署节点都需要具备无限扩展能力,而常见的瓶颈如数据库的连接数、队列的连接数等。

架构设计目标
应用架构


业务流程


1)服务商的运营人员针对服务类型进行服务承诺和服务能力的维护


2)消费者在苏宁易购 APP 或是网站上选购商品,打开商品四级详情页,调用 SOLP 进行时效查询


3)SOLP 调用 ASAP 提供的时效查询接口进行查询。


4)消费者完成下单支付,订单由订单中心下发到“售后服务接单管理系统”,由“售后服务接单系统”调用 ASAP 系统进行能力扣减。


5)如后续的售后服务订单有取消或另约服务时间请求,则会调用 ASAP 的能力的回滚接口进行能力回滚。

系统架构


ASAP 架构主要涉及:


1)ASAP 服务:主要提供能力的加减服务包括能力新增和能力扣减接口,


2)ASAP 后台:主要提供系统给运营人员进行承诺和时效服务的


3)中间件:主要涉及分布式服务框架 RSF、任务调度平台 UTS、消息队列 WindQ


4)数据层:主要用到了 Redis 集群,mysql 数据库集群。


5)基础服务:主要依托苏宁的基础 DEVOPS 工具链完成开发和运维工作。

技术框架


开发框架


系统采用苏宁 SNF 技术框架开发,苏宁 SNF 框架基于 MAVEN 项目管理,提供各种的骨架组件。在这些骨架组件中,基本的依赖和基本设置都在模板中做好,无需各项目重复工作。本框架也包括了基本的项目框架结构和各种基本设置,同时也集成了苏宁框架组统一的日志记录、异常捕获、数据访问等苏宁自己的基础组件。


项目组在 SNF 框架的基础上,进行少量的裁剪和扩充就可以进行开发,既能统一项目设置和架构,又能大量节省开发人员搭建框架的时间。


开发环境


STS+Maven+SVN +JDK1.7+JBoss。


分布式服务框架 RSF


系统提供的核心的服务接口均采用苏宁自研的 RSF 框架实现,RSF 框架 解决了分布式系统间的服务调用问题,提供一种透明的、高性能的 RPC 服务调用方案。


主要功能


  1. 支持同步、异步 Future、异步 Callback 三种客户端调用模型;

  2. 支持 TCP 协议及 Hessian、JSON、KRYO 序列化机制;

  3. 服务节点的自动注册和发现;

  4. 多种负载均衡方式;

  5. 服务路由;

  6. 容错重试机制;

  7. 流控,熔断等机制;

  8. 统一的服务配置管理,支持配置的动态修改。


总体架构


系统面临的挑战及应对

虽然系统采用了 SNF 框架,基于苏宁组件和基础设施,搭建了高并发的分布式架构,但随着苏宁易购电商业务高速发展,订单屡创新高的背景下,系统依然面临一些挑战:


  1. 扩展痛点:受限于数据库的连接数瓶颈、Redis 服务器的连接数瓶颈等因素,导致应用集群无法无限扩展;

  2. 机房容灾及机房容量:机房断电,电缆被挖,造成整个苏宁易购交易系统瘫痪;单个机房容量受限,无法创建更多的服务器;

  3. 热点瓶颈:虽然通过构建缓存化支持能力服务,但单个商品的并发查询和扣减仍然存在上限


为了解决上述问题,我们启用了应用的本机分布式缓式,并在公司规划下正在进行多活架构构建。


应用服务器内存缓存


我们通过 Ehcache 框架,对于一些配置主数据和能力总量在应用服务器进行内存缓存,从生产压测情况来看效果明显,在不新增服务器的条件下 tps 成倍增加,redis 热点消失。


后续也计划对于已约数量等实时能力数据,通过分布式缓存实现共享,以进一步提升单个商品并发查询和扣减的热点瓶颈。


多活架构


目前 ASAP 系统在公司统一部署下实现了多活的支持,在多个机房之间建立数据库和 Redis 缓存数据的准实时同步,支持多个机房间的流量切换,当 A 机房出现故障,可由 B 机房完全接管,具体多活的生产应用还在联调中。

双 11 等大促活动保障

经过两年多的大促实战,基本形成了事前、事中、事后完整的大促保障工作机制,工作项标准化,越来越细致,组织上有专人牵头负责具体工作项事务,形成了完整的闭环。



容量和性能评估


对公司双 11 大促的 活动预告及销售目标进行详细评估和分解,转化成 ASAP 系统的核心服务的 SLA,确定库存系统的核心服务的 TPS 目标。


性能压测达标


大促前,我们会进行多轮的生产压测,最重要的是单系统的接口压测和端到端全链路压测。通过单系统服务接口压测,我们排除接口潜在的性能瓶颈并针对性的优化,能够清楚认识负责系统的单接口所能支持的并发上限;通过生产真实流量回放的端到端全链路压测平台,进行全链路的生产压测,发现真实流量下的系统压力情况,和资源情况,提前发现性能瓶颈和潜在的系统风险。性能测试是大促筹备最为关键的一环。


系统健康体检


提前对系统的各方面进行全面的健康检查,比如 db 磁盘的容量、连接数、topsql,缓存的内存使用率、并发命令数和连接数,消息队列的连接数,各节点的 cpu 负载情况,排除单点故障,排除虚拟机的资源争用问题,排除高可用问题(同一物理机多应用节点)等。


机器扩容


基于容量预估出来的各服务接口的 TPS 目标,根据压测结果评估系统的服务器是否需要扩容,比如 jboss 集群是否需要扩容,redis 集群是否需要扩容,数据库服务器性能是否有足够等。


梳理流控与降级方案


所有服务接口需要设定合理的流控阀值,以确保系统不会挂死;梳理所有接口的调用系统和业务场景并明确业务的优先级,假设系统因为某服务导致性能出现瓶颈,根据业务优先级逐步调整流控阀值;业务流控或系统流控要实现用户的友好提示;对于依赖系统,如果出现超时或宕机,则定义降级策略,确保服务请求的快进快出。


作者:汪成伟,苏宁易购 IT 总部物流研发中心技术总监,目前负责苏宁物流研发中心售后相关系统的架构与开发管理工作,具有十多年互联网一线研发及管理经验。曾负责过 B2C 电商平台、移动新闻资讯平台,用户上网行为分析大数据平台及 O2O 社交应用的研发工作。是 DevOps 的践行者,在企业应用架构设计、高并发系统设计、大促保障、研发过程管理、稳定性治理、安全开发上有丰富的经验。


2018-11-09 17:284433

评论 1 条评论

发布
用户头像
文章写的跟流水账一样。。。
2018-11-11 01:49
回复
没有更多了
发现更多内容

舞台租赁LED显示屏技术

Dylan

技术 LED显示屏 led显示屏厂家

自然语言处理的卓越未来

百度开发者中心

#人工智能 ChatGPT 文心一言 千帆大模型平台

【案例教学】华为云API对话机器人的魅力—体验AI垃圾分类机器人

华为云PaaS服务小智

云计算 软件开发 华为云

glTF和GLB有什么区别?

3D建模设计

GLTF glb

你应该知道的几个国产化平台-行云管家

行云管家

信创 国产化 国产化平台

科兴未来 | 2023年河北国际先进技术创新挑战赛

科兴未来News

面向OpenHarmony终端的密码安全关键技术

OpenHarmony开发者

OpenHarmony

GLTF在线编辑器

3D建模设计

gltf/glb模型 GLTF gltf编辑器

融云聊天室再放大招,服务更完整、集成更便捷

融云 RongCloud

产品 通信 服务 融云 属性

如何选择美国多IP站群服务器?学习如何统筹管理多个站点

一只扑棱蛾子

站群服务器

WavJourney:进入音频故事情节生成世界的旅程

3D建模设计

LLM 大语言模型

8个免费的AI和LLM游乐场

3D建模设计

人工智能 AI LLM

Orca LLM:模拟 ChatGPT 的推理过程

3D建模设计

ChatGPT

大模型驱动全面重构,百度联盟的增长飞轮转起来了

极客天地

百度肖阳:语义检索技术和大语言模型深度结合,重构百度搜索

极客天地

如何编写优质Prompt的秘诀

百度开发者中心

#人工智能 ChatGPT 文心一言

即时通讯技术文集(第20期):IM架构设计技术文章(Part3) [共14篇]

JackJiang

网络编程 即时通讯 IM

马斯克回应盖茨;谷歌反垄断案开庭;苹果发布 3nm 芯片的 iPhone 15丨RTE开发者日报 Vol.48

声网

软件测试丨探索基于大模型的人工智能应用与开发,开启智能化时代

测试人

人工智能 程序员 软件测试 公开课 ChatGPT

搭建无损网络的关键要素与技术

百度开发者中心

AIGC ChatGPT 千帆大模型平台

深入学习 FastAPI 鉴权:实现可扩展的身份认证机制

Apifox

程序员 后端 鉴权 FastApi ptyhon

更多场景、更多选择,Milvus 新消息队列 NATS 了解一下

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

苹果再发“黑科技”,合合信息扫描全能王新功能支持“360度立体式建模”

合合技术团队

苹果 科技 合合信息 #人工智能 扫描全能王

如何实现一个数据库的 UDF?图数据库 NebulaGraph UDF 功能背后的设计与思考

NebulaGraph

数据库 UDF

41 个下载免费 3D 模型的最佳网站

3D建模设计

模型 3D

字节跳动基础架构编排调度团队论文入选云计算领域顶会 SoCC 2023

字节跳动云原生计算

大数据 云原生 编排调度

TuGraph Analytics 流图计算之行为路径归因

TuGraphAnalytics

实时计算 图计算 归因分析 行为分析

苏宁大促高并发要求下的售后服务运营能力承诺服务系统架构实战
_软件工程_汪成伟_InfoQ精选文章