全链路压测保驾有赞双十一

2017年双十一即将来临,对于买家来说,是一年一度的购物狂欢,可以对于一个电商公司的技术来说,确是一年一次的大考。如何用更少的预算完成指定当前业务规模的流量高峰,是技术的永衡的主题。 我们有赞在双十一之前完成了全链路压测的方案,并把它用于大促的扩容和容量验证,取得了很不错的成果。 做过电商的技术同学都知道,在大促来临时,整个集群是的最高峰压力将是正常时间的几十倍,最高峰持续的时间会特别短,然后回落到正常水平的几倍的水平线上。所以,可能我们会自然而然地想到,把我们整个集群扩容几十倍的机器,在双十一当天应对几十倍的流量, 然后第二天就减至正常量,就可以完成大促的考验。事实情况是否真的这么简单? 大促保障的困难 用户购买商品的链路是一条很长很复杂的系统集群,中间会涉及到店铺,…

Read More

有赞MySQL自动化运维之路—ZanDB

一、前言 在互联网时代,业务规模常常出现爆发式的增长。快速的实例交付,数据库优化以及备份管理等任务都对DBA产生了更高的要求,单纯的凭借记忆力去管理那几十套DB已经不再适用。那么如何去批量管理这些实例的备份、元数据、定时脚本和快速实例交付就成了急需解决的的问题。 二、数据库的标准化 在实现MySQL的自动化运维的过程中,最痛苦的无非是目录的不统一,配置文件的混乱以及DB主机的不标准,而这些不标准的环境会让自动化运维的路途荆棘重重。所以首先我们将相应的DB主机以及目录做了标准化,将以前不符合的标准的主机和实例进行改造。 一台机子上所有实例,都是在统一的目录下,通过端口进行区分,例如my3306,my3307。然后在my3306下面创建对应的数据目录、日志目录、…

Read More

有赞应用层网关剖析

提到应用网关系统,我们脑海中或多或少都会闪过一些关键词,比如统一入口、高并发、大流量、限流、防刷、实时监控等等。 Youzan Application Gateway Center(公司内部称之为Carmen系统),它就是目前有赞的应用层网关系统。每天承载着亿级别的请求量,持续的为开放平台和多个有赞App应用提供着稳定的服务。 今天我们来一起剖析下整个有赞的应用层网关,聊聊网关的当前的概况、整个网关系统的构成、遇到的一些问题的思考和解决方案。当然在进入正题之前,我们不妨先对这个网关系统提出几个问题: 网关在有赞技术生态系统中的使用场景是什么? 一个请求通过网关,它会有多少额外的性能消耗?…

Read More

优化Linux NAT网关

因为我们的生产环境没有专用的NAT设备,不得不使用Linux的NAT功能来解决生产内网访问公网的问题。 NAT的原理,大致如下图所示: 内网的机器,将网关配置成NAT网关的地址,当访问公网时,NAT会将访问公网的包的源地址(内网地址)转换为自己的公网地址,再将包发给公网的服务器。 然而,服务器访问公网与桌面系统访问公网的场景,是完全不同的,服务器访问公网的行为,通常比桌面系统的行为更有“规律“(其实与操作系统也有关系,不同操作系统的TCP/IP协议栈行为是有差别的)。比如,服务器会在相对集中、统一的时间同时发起公网请求,并且还是相对集中地访问固定的地址。这对NAT设备来说,…

Read More

记一次 strace 追踪的 Docker + VirtualBox 的底层 bug

最近在公司搭建一个基于 Docker 的 PHP 环境。 背景知识 Docker 是一种容器技术,它可以提供一个隔离的环境,让用户的程序运行在一个完全隔离的虚拟的系统里,但 Docker 不是虚拟化,使用 Docker 可以在 Linux 上实现对于任意程序打包一次,到处运行。愿意接受安利的同学请移步 http://docker.io 。 Mac OS…

Read More