有赞零售小票打印图片二值化方案

作者:王前一、背景小票打印是零售商家的基础功能,在小票信息中,必然会存在一些相关店铺的信息。比如,logo 、店铺二维码等。对于商家来说,上传 logo 及店铺二维码时,基本都是彩图,但是小票打印机基本都是只支持黑白二值图打印。为了商家的服务体验,我们没有对商家上传的图片进行要求,商家可以根据实际情况上传自己的个性化图片,因此就需要我们对商家的图片进行二值图处理后进行打印。这次文章...
阅读全文

DataX在有赞大数据平台的实践

一、需求====有赞大数据技术应用的早期,我们使用 Sqoop 作为数据同步工具,满足了 MySQL 与 Hive 之间数据同步的日常开发需求。随着公司业务发展,数据同步的场景越来越多,主要是 MySQL、Hive 与文本文件之间的数据同步,Sqoop 已经不能完全满足我们的需求。在2017年初,我们已经无法忍受 Sqoop 给我们带来的折磨,准备改造我们的数据同步工具。当时有这么些很最...
阅读全文

How we redesign the NSQ-NSQ重塑之客户端

overview有赞的自研版 NSQ 在高可用性以及负载均衡方面进行了改造,自研版的 nsqd 中引入了数据分区以及副本,副本保存在不同的 nsqd 上,达到容灾目的。此外,自研版 NSQ 在原有 Protocol Spec 基础上进行了拓展,支持基于分区的消息生产、消费,以及基于消息分区的有序消费,以及消息追踪功能。为了充分支持自研版 NSQ 新功能,在要构建 NSQ client 时...
阅读全文

从Storm到Flink,有赞五年实时计算效率提升实践

1\. 概述======有赞是一个商家服务公司,提供全行业全场景的电商解决方案。在有赞,大量的业务场景依赖对实时数据的处理,作为一类基础技术组件,服务着有赞内部几十个业务产品,几百个实时计算任务,其中包括交易数据大屏,商品实时统计分析,日志平台,调用链,风控等多个业务场景,本文将介绍有赞实时计算当前的发展历程和当前的实时计算技术架构。2\. 实时计算在有赞发展=============...
阅读全文

浅析 Spark Shuffle 内存使用

在使用 Spark 进行计算时,我们经常会碰到作业 (Job) Out Of Memory(OOM) 的情况,而且很大一部分情况是发生在 Shuffle 阶段。那么在 Spark Shuffle 中具体是哪些地方会使用比较多的内存而有可能导致 OOM 呢? 为此,本文将围绕以上问题梳理 Spark 内存管理和 Shuffle 过程中与内存使用相关的知识;然后,简要分析下在 Spark Shuffl...
阅读全文

组织级敏捷转型的四个阶段

物理结构对系统是至关重要的,但它们很少是杠杆点,因为改变物理结构通常不太容易而且见效慢。恰当的杠杆点,需要从一开始就被设计好。一旦实体的结构建立起来了,要想找到杠杆点,就需要理解系统的限制和瓶颈,在尽可能发挥它们的最大效率的同时,避免出现较大的波动或扩张,超出其承受能力。——德内拉·梅多斯《系统之美》笔者认为,敏捷转型是一个系统性的改进工程,具有时间和空间两个维度的复杂性,故要用动态的眼光来...
阅读全文

Flume在有赞大数据的实践

一、前言==== Flume 是一个分布式的高可靠,可扩展的数据采集服务。Flume 在有赞的大数据业务中一直扮演着一个稳定可靠的日志数据“搬运工”的角色。本文主要讲一下有赞大数据部门在 Flume 的应用实践,同时也穿插着我们对 Flume 的一些理解。二、Delivery 保证=============认识 Flume 对事件投递的可靠性保证是非常重要的,它往往是我们是否使...
阅读全文

Spark Streaming在数据平台日志解析功能的应用

一、日志解析功能的背景:============通过日志,我们可以获得很多有用的信息,最常见的日志信息包括应用产生的访问日志、系统的监控日志,本文所针对的日志是大数据离线任务产生的运行日志。目前日志解析功能依附于有赞大数据平台,也就是有赞的data_platform,为该平台的一个功能。目前支持解析的日志类型包括:Hive任务、Spark任务、Datay增量任务、导入任务、导出、MR任务...
阅读全文

有赞美业店铺装修前端解决方案

一、背景介绍做过电商项目的同学都知道,店铺装修是电商系统必备的一个功能,在某些场景下,可能是广告页制作、活动页制作、微页面制作,但基本功能都是类似的。所谓店铺装修,就是用户可以在 PC 端进行移动页面的制作,只需要通过简单的拖拽就可以实现页面的编辑,属于用户高度自定义的功能。最终编辑的结果,可以在 H5、小程序进行展示推广。是一套美业行业的 SaaS 系统,为美业行业提供信息化和互联网化...
阅读全文

数据库连接池配置(案例及排查指南)

引言想必本文的读者对数据库都不会陌生,由于数据库良好的特性和服务的稳定性,使得我们的工作几乎离不开,而数据库连接池因为连接复用的优势也被广泛的使用,但凡事不可能只有好处而没有代价,使用连接池一个最直接的代价就是需要配置一堆的参数。其实很多时候这个复杂度也不存在,只要找个工程把配置拷贝一份,改一下用户名密码也就能工作了,因为之前的配置都正常工作了一段时间基本也没问题了,这个逻辑本身没毛病,但有...
阅读全文