花钱的年华

江南白衣,公众号:春天的旁边

服务化体系之-兼容性与版本号

| Filed under 技术

家大业大之后,服务的版本和兼容性就是个让人不得不正视的问题。最近,路上有个说法,既然都是微服务了,那不同的版本可以认为是两个完全不一样的微服务,没必要再保留版本号了。 这篇文章按着唯品会的实战经历来探讨一下。 [...] (阅读全文……)

服务化体系之-限流

| Filed under 技术

临时客串一下产品经理,尝试用最少的字,把“限流”这简单二字所展开的种种需求说清楚。
下篇,再来讨论那些漏桶算法,Guava Rate Limiter和唯品会服务化框架的实现。 [...] (阅读全文……)

我的Java后端书架 (2016年暖冬版)

| Filed under 技术

本书架主要针对Java后端开发与架构师。

更新记录:4.0版把第五部份-具体技术的书整块拿掉了。《TCP/IP详解 卷1:协议》出到了第二版,增加《SRE:Google运维解密》,《Java8 实战》。 [...] (阅读全文……)
by calvin | tags : | 22

SecureRandom的江湖偏方与真实效果

| Filed under 技术

SecureRandom,我们一般都知道江湖偏方 -Djava.security=file:/dev/./urandom,但往往不求甚解,一年前,在那个有点暗的办公室里,我就是这么做的。

一年后,又有同学说JDK8下Thread Dump出很多SecureRandom的BLOCKING。于是怒翻JDK代码,并配合JMH写的测试,总结出这么一篇。 [...] (阅读全文……)
by calvin | tags : | 6

Btrace入门到熟练小工完全指南

| Filed under 技术

BTrace是神器,每一个需要每天解决线上问题,但完全不用BTrace的Java工程师,都是可疑的。
在网上搜索Btrace能出来不少文章,都有点旧了,而且不够详细,于是决定,重新写一份,包含自己踩过的坑。 [...] (阅读全文……)

String.intern() 祛魅

| Filed under 技术

String.intern(),写应用的同学不知道也没什么损失。但知道的同学,如果只觉得它很省内存,用==比较字符串很酷,或者期待JDK会做什么神奇的事情,然后恨不得所有地方都用上String.intern(),那很可能会误用,所以把上周在群里的讨论整理成此文。

在社会科学中,祛魅(Disenchantment)是指在现代社会中消去神秘主义(魅惑力)的表面并把文化合理化。这里乱用一下。 [...] (阅读全文……)
by calvin | tags : | 6