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

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

Mysql锁:灵魂七拷问

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

有赞订单搜索AKF架构演进之路

一、前情提要======时节如流,两年前的今天写了有赞订单管理的三生三世与十面埋伏,转眼两年过去了,这套架构发展的如何,遇到了什么新的挑战和收获,今天主要来一起整理回顾下有赞订单搜索AKF架构演进之路。1.1 分久必合之前将散落在 DB 多个分片中的数据在 ES 做了一次聚合,带来了巨大的好处,同步任务少,维护成本低。尤其是订单迁移这一块,之前由于是分片设计,所以当订单触发迁移时候...
阅读全文

有赞前端质量保障体系

前言最近一年多一直在做前端的一些测试,从小程序到店铺装修,基本都是纯前端的工作,刚开始从后端测试转为前端测试的时候,对前端东西茫然无感,而且团队内没有人做过纯前端的测试工作,只能一边踩坑一边总结经验,然后将容易出现问题的点形成体系、不断总结摸索,最终形成了目前的一套前端测试解决方案。在此,将有赞的前端质量保障体系进行总结,希望和大家一起交流。先来全局看下有赞前端的技术架构和针对每个不同的...
阅读全文

深入浅出MySQL crash safe

一 前言MySQL 主从架构已经被广泛应用,保障主从复制关系的稳定性是大家一直关注的焦点。MySQL 5.6 针对主从复制稳定性提供了新特性: slave 支持 crashsafe。该功能可以解决之前版本中系统异常断电可能导致 relay_log.info 位点信息不准确的问题。 本文将从原理,参数,新的问题等几个方面对该特性进行介绍。 二 crashunsafe在了解 slav...
阅读全文

nginx非root用户启动 - oushitian的博客 - CSDN博客

版权协议,转载请附上原文出处链接和本声明。本文链接: 1.用yum安装nginx2.首先注释掉nginx.conf的第一行,在把/var/run/nginx.pid改成/var/run/nginx/nginx.pid,并在相应的目录里创建好对应的文件3.提升日志文件的权限比如:chmod 777 /var/run/logs/ R4.切换到普通用户,启动servi...
阅读全文

nginx使用(非root)普通用户启动 - 代码创造世界 - CSDN博客

版权协议,转载请附上原文出处链接和本声明。本文链接:在使用nginx过程中,发现用root用户启动nginx存在在一些安全隐患,经查询,发现nginx默认端口号是80,如果使用使用普通用户启动,只用使用1024以上的端口号,1024以内的端口号只能由root用户启动1.修改其配置文件 vim /usr/loacal/conf/nginx.conf```server { l...
阅读全文

使普通用户启动nginx(监牢模式) - Revival - CSDN博客

为什么给nginx服务使用普通用户:默认情况下nginx的Master进程使用的用户root,worker进程使用的是nginx指定的普通用户,使用root用户跑nginx的master进程有两个问题。1.管理用户必须是root,这样使的最小化分配权限遇到问题2.使root跑nginx服务,一旦网站出现了漏洞,用户就可以轻松的获得服务器的root权限。配置实战:1.常见普通用户...
阅读全文

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

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

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

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