20万天猫智慧门店背后的商业思考和技术重构

20万天猫智慧门店背后的商业思考和技术重构

2016 年,「新零售」被首次提出,在这些年里,无论是互联网公司、零售企业,还是像酒店、机场等这些服务型业态,都在积极探索新的零售模式。对于天猫这样一个服务了全球诸多品牌的平台来说,如何助力零售企业完成数字化转型,用大数据和云计算的力量帮助品牌更好地洞察消费者、连接消费者、服务消费者,是一个重要的课题。 我会分几个部分来阐述天猫智慧门店是如何理解「新零售」的。首先为什么选择做线下品牌的市场,这块市…

Read More Read More

面向GC的Java编程

面向GC的Java编程

Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题。以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象,就交给GC来做吧!甚至有人说,如果在编程过程中频繁考虑内存问题,是一种退化,这些事情应该交给编译器,交给虚拟机来解决。 这话其实也没有太大问题,的确,大部分场景下关心内存、GC的问题,显得有点“杞人忧…

Read More Read More

2017 JavaOne参会感想

2017 JavaOne参会感想

国庆期间有幸作为代表和另外 6 位同学去旧金山参加 JavaOne 大会,本次大会我关注的几个关键的 points: AJDK 在 Java 9 的 Keynote 主场公开亮相,Kingsum 为全场听众讲解了 AJDK 如何与 Intel 等硬件商场深度合作,支撑了双 11 全球最大的购物节。 Java 9 的新特性,以模块化为代表。 Serverless、Cloud Native 架构。 微…

Read More Read More

从淘宝到云端的高可用架构演进(2017QCon分享)

从淘宝到云端的高可用架构演进(2017QCon分享)

大家好,我今天分享的题目是《高可用实践:从淘宝到上云的差异》,取这个标题是因为会涉及到两个方面内容,一方面以淘宝为例子,传统的IDC的时候,我们稳定性是怎么做的,另外在云计算背景下,有很多创业公司是基于阿里云这样的公有云基础设施做研发,在公有云的环境下怎么做好我们系统的高可用。 长期做稳定性的人会有一些职业病,记得去年冬天有个周末,我要寄快递,穿着睡衣在门口填快递单,那时候我家里养了一只猫,因为怕…

Read More Read More

2016北京QCon随感

2016北京QCon随感

上周四到周六参加了北京QCon,总体感觉,有1/3是比较实在的干货,相比前几年,一个是分会场多了(9个),另外讲师的水平也有点参差不齐(每个分会场都是出品人自己去想办法找讲师),感觉最近一两年国内技术圈子有点娱乐圈的意思,这个扯远了。主要还是和像七牛许式伟,Oracle范学雷这些讲师做一对一沟通,探讨一些问题,然后了解下行业动态,看看外面的人都在做什么事情,避免闭门造车。 这次比较火的几个议题方向…

Read More Read More

基于容器的全链路运维平台实践

基于容器的全链路运维平台实践

本文是之前对外分享EWS产品的一个听稿整理 经历过去 O、静态化、异地多活、全链路压测、双 11 等多个高可用项目之后呢,我就会去思考说我们能不能把这些高质量的架构通过产品化的方式,让阿里之外的公司也能够享受到这样优质的架构,而且不需要踩我们之前所碰到的那些坑。这就是我今天主要给大家介绍的我们做的叫 EWS 的一个产品,以及我们做这个产品当中的一些思考。 首先什么是 EWS, EWS 是针对互联网…

Read More Read More

Java应用线上问题排查的常用工具和方法

Java应用线上问题排查的常用工具和方法

在长期排查线上问题的过程中,总结了一些工具的用法和排查问题的思路,这里跟大家分享一下,在遇到类似的问题时,希望能给予一些帮助。 首先讲讲工具,JVM自带的一些工具是必须熟练掌握的,例如jstack, jmap, jstat等,它们可以帮我们去深入了解JVM正在做的事情,主要的适用领域有这些: 1、jstack jstack可以告诉你当前所有JVM线程正在做什么,包括用户线程和虚拟机线程,你可以用它…

Read More Read More

何时对null值做Cache

何时对null值做Cache

前几天发现某个系统对某个远程调用接口的调用量大幅上升,涨幅不可思议。根据接口调用上升的时间点和发布记录,查看SVN提交记录,发现是在系统主路径中添加了这个接口的调用,难道这个接口没有做Cache吗?仔细一看,倒是也做了Cache,并且这个RPC对应的DB表的数据量非常小,按理说是能全部被缓存起来的。那么为什么会反复调用,看起来仿佛没有Cache一样呢? 直觉是缓存被不存在的数据击穿了,马上验证。 …

Read More Read More

Swap对响应时间敏感应用的影响

Swap对响应时间敏感应用的影响

最近排查的一个线上应用load高的问题,和GC以及Swap有关系。 现象是机器load突然升高,查看占用CPU的线程发现是JVM自己的线程。 jstat发现一个奇怪的现象,Eden Gen到了100%之后会持续好几秒,但Old Gen没有明显增大,说明并不是Eden Gen不够用promote到Old Gen了,感觉似乎是Young GC出了问题。 进一步查看GC Log,发现一次Young GC…

Read More Read More