拥有0000-未整理-等待研究标签的文章

有赞订单导出的配置化实践

一、引子 1.1 背景有赞订单导出业务隶属于有赞交易订单管理组,主要职能是将有赞商家的订单数据通过报表的形式导出并提供下载给商家使用。目前承接了有赞所有的订单导出业务,报表的字段覆盖交易、支付、会员、优惠、发货、退款、特定业务等,合计超过 100 个。 1.2 挑战随着有赞的迅速发展,有赞的行业、业务与产品覆盖面越来越广。从行业角度来看,覆盖了微商城、新零售、餐饮、美业、教育等,...
阅读全文

Mock服务插件在接口测试中的设计与应用

引言==在日常的接口测试中,测试人员常常会遇到以下几种令人头疼的情况: 场景一:依赖的接口状态不稳定,导致集成 CI 常常失败,需要耗费大量时间排查非被测目标本身之外的环境问题 场景二:做异常测试时构造异常数据成本高、难度大,某些异常数据甚至无法通过正常途径构造 场景三:被测目标开发进度先于依赖模块,当测试需要先行介入接口测试,但依赖模块接口尚且不通...
阅读全文

一次大量删除导致MySQL慢查的分析

背景==监控上收到了大量慢查的告警,业务也反馈查询很慢,随即打开电脑确认慢查的原因。现象描述====通过平台的慢查分析之后,我们发现慢查有以下特征:1. 慢查的表名都是sbtest1,没有其他的表2. 大部分的慢查都是查表最新的数据,例如select from sbtest1 limit 1;3. rows examined 为1,没有扫描大量的数据问题分析=...
阅读全文

有赞单元测试实践

一、概述==== 单元测试是指对软件中的最小可测试单元进行检查和验证。单元在质量保证中是非常重要的环节,根据测试金字塔原理,越往上层的测试,所需的测试投入比例越大,效果也越差,而单元测试的成本要小的多,也更容易发现问题。1.1 有赞单元测试1.0架构 以有赞中台某应用为例,应用部署是微服务架构,对外提供dubbo服务,当前的单元测试,采用了分层测试框架,根据代码的分层,分为...
阅读全文

记一次故障引发的线程池使用的思考

悬案==某日某晚8时许,一阵急促的报警电话响彻有赞分销员技术团队的工位,小虎同学,小峰同学纷纷打开监控平台一探究竟。分销员系统某核心应用,接口响应全部超时,dubbo线程池被全部占满,并堆积了大量待处理任务,整个应用无法响应任何外部请求,处于“夯死”的状态。正当虎峰两位同学焦急的以各种姿势查看应用的各项指标时,5分钟过去了,应用居然自己自动恢复了。看似虚惊一场,但果真如此吗?勘查...
阅读全文

有赞订单同步的探索与实践

一 引子有赞是提供商家SAAS服务,随着越来越多的商家使用有赞,越来越多的需求铺张而来,搜索或详情的需求会越来越多,针对需求及场景,之前提到过的订单管理架构演变及AKF架构等在这两篇文章里已经有所体现,而这些数据的查询来自于不同的Nosql,怎么同步这些非实时存储系统将是一个很有趣的事情 同步由来先不说同步是什么,一般情况下,公司达到一定规模,有类似全文检索的需求或者高频key:va...
阅读全文

营销系统在预付卡场景下的演进

一、引言====营销,就是吸引消费者关注进而使用商家提供的产品或服务的种种手段。某种意义上来说,你能看到的广告、分享、打折、赠送,这些都算是一种营销。预付卡的生态体系里恰恰需要这种营销的基因,来帮助商家快速回笼资金,于是两者一拍即合,营销系统在预付卡生态下生根发芽。二、会员储值的充赠=========有赞预付卡包装出了会员储值这样一款产品,用户在商家店铺里完成特定金额的充值后,...
阅读全文

如何在项目管理中进行「系统思考」之一

费解 系统动力学(System Dynamics)是一门以系统思考为基础、并结合了计算机仿真模型的理论。该领域的研究起源于美国麻省理工学院杰伊•福瑞斯特(Jay W. Forrester)教授的名著《工业动力学》。由于初期它主要应用于工业企业管理,故称为工业动力学。随着该学科的发展,其应用范围日益扩大,遍及经济社会等各类系统,故改称为系统动力学。\《系统之美》正是一本了解系统思考的最佳入门...
阅读全文

有赞百亿级日志系统架构设计

一、概述日志是记录系统中各种问题信息的关键,也是一种常见的海量数据。日志平台为集团所有业务系统提供日志采集、消费、分析、存储、索引和查询的一站式日志服务。主要为了解决日志分散不方便查看、日志搜索操作复杂且效率低、业务异常无法及时发现等等问题。随着有赞业务的发展与增长,每天都会产生百亿级别的日志量(据统计,平均每秒产生 50 万条日志,峰值每秒可达 80 万条)。日志平台也随着业务的不断发...
阅读全文

Mysql锁:灵魂七拷问

一、缘起====假设你想给别人说明,Mysql 里面是有锁的,你会怎么做?大多数人,都会开两个窗口,分别起两个事务,然后 update 同一条记录,在发起第二次 update 请求时,block,这样就说明这行记录被锁住了:二、禁锢====问题来了,貌似只有显式的开启一个事务,才会有锁,如果直接执行一条 update 语句,会不会加锁呢?比如直接执行:```sql...
阅读全文