商品中心架构演进

作者: 刘臻枫 | 来源:发表于2017-08-23 12:33 被阅读183次

外卖商品业务概览

核心交易流程

供应链流程

业务规模

在线商品数:2.6亿

日新增商品数:160W

在线商品分类数:2200W

日新增商品分类数:12W

在线有图商品数:2.3亿

在线商品图片覆盖率:90%

商品服务峰值QPS:5W

商品服务日调用量:16亿

支撑日订单量:1500W

支撑日交易额:5亿

商品中心架构演进

商品中心架构V1.0

问题

解决之道

商品查询服务和商品管理服务

商品库存服务

商品中心架构V2.0

问题

背景

16年业务持续增长,1000W单;

加大优质供给(大连锁);

美团专送、快送、众包;

新业务(商超便利、生鲜瓜果、鲜花蛋糕)。

风险点

商品库读写压力过大

各业务方接入商品服务后,商品库写峰值QPS达到1.8K,读峰值QPS将近4W,并不断快速增长。 

商品库单表数据量过大

商品库超过4张表数据量过亿,其中商品SKU表超过1.5亿,容量将近120G。 

商品复杂查询场景变多

商品字段越来越多,各端需要多字段结合查询、分词搜索的业务场景越来越多。分词搜索无法满足,多维查询使用DB勉强满足 、性能差。

解决之道

商品库读

加缓存,构建商品SPU、SKU、TAG缓存,接入Tair双机房。

商品库写/数据量

水平分表,拆出商品SKU、SPU、REL三大集群,各100张分表。

分词搜索/多维查询

引入ElasticSearch,构建商品独立ES集群。

商品中心架构V3.0(当前架构)

服务设计调优之个人心得

高稳定性

大系统小做

化大为小,降低模块间耦合(高内聚低耦合),避免牵一发而动全身;

化繁为简,分而治之,便于开发和快速实现。

柔性可用

快速合理响应,尽可能保证核心流程可用和关键数据的返回,绝不轻易倒下。

过载保护

尽早拒绝,避免雪崩(越早越好,前端保护后端);

尽力处理,局部可用(有损)。

大系统小做

保持简单:模块职责单一,微服务;版本迭代特性要小,不要想着憋大招。

面向痛点开发:感觉到痛点,才不得不做,避免过度设计。

灰度升级:灰度发布,不断增强信心,避免牵一发而动全身。

柔性可用

核心路径梳理:主要路径与核心元素是什么? 哪些可被自动降级 

服务化、配置化:路径上的元素都拆分成独立服务(核心/非核心),非核心服务的调用端都加上开关(手动/自动),超时时间也是一种自动降级开关 

异步化:部分非核心服务异步化(线程池/MQ)

过载保护

容量监控报警:容量规划(全链路压测),时刻保证一倍余量,达到容量峰值之前(2/3处)提前预警

流控:面向用户的流控(外卖EMS),面向服务的流控(OCTO一键截流)

弹性伸缩:动态扩缩容(HULK弹性伸缩平台)

高性能

代码逻辑:大部分性能问题都是由于代码写的不合理

批量化:读写操作批量化

异步化:非核心逻辑异步化

并发:多线程与分布式,充分利用多核或者集群资源

缓存:本地缓存、分布式缓存

DB:SQL调优,连接池调优,架构调优(垂直、水平拆分)

NoSQL:结合具体业务场景使用性能远超DB

相关文章

  • 商品中心架构演进

    外卖商品业务概览 核心交易流程 供应链流程 业务规模 在线商品数:2.6亿 日新增商品数:160W 在线商品分类数...

  • 服务注册中心架构演进

    1. 概述 服务注册中心(下称注册中心)是微服务架构非常重要的一个组件,在微服务架构里主要起到了协调者的一个作用。...

  • 演进式数据架构

    演进式架构支持跨多个维度的引导性增量变更。 ——《演进式架构》 这是《演进式架构》这本书第一章第一节对“演进式架构...

  • 1.2:架构演进之路

    本文先从软件系统架构模式的演进做一个总结,然后针对每种架构模式分析,总结出架构演进的核心技术点。 架构演进历程 到...

  • 微服务

    1.1 软件架构的演进: |-- 单体架构 |-- SOA架构 ...

  • Spring Cloud系列之微服务架构演进

    服务架构的演进 服务架构的演进过程可以分为五个历程: 单体应用架构 垂直拆分架构 分布式架构 SOA面向服务架构 ...

  • 来简单谈谈100G以上光模块市场,超出你想象

    在数据中心架构演进的过程中,对光模块的需求产生新的变化,根据数据中心内互联架构升级,很好的带动了100G光模块的需...

  • 分布式系统中的相关概念0704

    1.软件架构的演进过程 软件架构的发展经历了由单体架构、垂直架构、SOA架构到微服务架构的演进过程,下面我们分别了...

  • 04-项目大了人员多了,架构怎么设计更合理

    总体来说,架构是需要一步步演进的,如果项目规模大了还不演进,必然会拖累业务的发展速度。从简单架构往大型项目架构演进...

  • RPC演进

    架构系统的演进(Doubbo Architerctrure Roadmap) Java开发RPC的演进历史 TCP...

网友评论

    本文标题:商品中心架构演进

    本文链接:https://www.haomeiwen.com/subject/wljddxtx.html