58. 流量切分

前不久接到一个需求,新接入一个保险公司,一开始只需要切入20%的流量。一时半会还想不出来有什么好的办法。

其实每个学过编程的人都或多或少接触过这些东西,最常见的莫过于nginx负载均衡了。切分流量也是类似的道理,就跟分库分表一样,就是一种计算规则,将一个用户定位到一个区间上。当让要考虑到正态分布,使其尽可能平均,不要造成一个区间数量过于太大即可。

这次我们采取的方式就是,由于产品是在一个域中,就考虑到用用户的标识COOKIE来处理,当用户未登陆时随机分配一个权值即可。用PHP的方式如下:

function flow()
{
    // 假如当前登陆用户的COOKIE为该值
    $_COOKIE['id'] = 'vW8ySjnxAeLF5cV5-bo4NeL94Mu1SzDMm3myEIdQktiHtW0G';
    if (isset($_COOKIE['id'])) {
        $length = strlen($_COOKIE['id']);
        $num = 0;
        for ($i = 0; $i < $length; $i++) {
            $num += ord($_COOKIE['id'][$i]);
        }
        return $num % 100;
    }
    return rand(1, 100);
}

echo "当前权重\n";
echo flow();
echo "\n";

计算结果为:

zhgxun-pro:php zhgxun$ php flow.php 
当前权重
2
zhgxun-pro:php zhgxun$

这样业务方就可以根据返回的数值进行后续操作了。

57. 五台山

说起五台山,是些五百年修行,还愿,祈福一类的东西。

中国有四大佛教名山,文殊菩萨道场是山西的五台山;观世音菩萨道场是浙江的普陀山;地藏菩萨道场是安徽的九华山;普贤菩萨的道场是四川峨眉山。观音大悲,地藏大愿,普贤大行,文殊大智。佛家有一句非常著名的话,叫作摩诃般若波罗蜜多,它的意思是用大智慧到达彼岸。

当年康熙就曾经五次前往参拜五台山。据史料记载,他五次前来其中有个很重要的原因是要找寻他的父亲,那就是相传在五台剃发出家的顺治。当然顺治出家根本起因不是想要超越轮回,度脱苦海乃至广度众生,他是因为他的爱妃去世,受到了严重的打击,心灰意冷。

有这么一段出家偈,即佛经中的唱词,跟顺治有关,写的非常好。

天下丛林饭似山,钵盂到处任君餐,黄金白玉非为贵,惟有袈裟披肩难。
朕为大地山河主,忧国忧民事转烦,百年三万六千日,不及僧家半日闲。 
来时糊涂去时迷,空在人间走这回,未曾生我谁是我?生我之时我是谁?
长大成人方是我,合眼朦胧又是谁?不如不来又不去,来时欢喜去时悲。

悲欢离合多劳虑,何日清闲谁得知?若能了达僧家事,从此回头不算迟。
世间难比出家人,无忧无虑得安宜,口中吃得清和味,身上常穿百衲衣。
五湖四海为上客,皆因夙世种菩提,个个都是真罗汉,披搭如来三等衣。

金乌玉兔东复西,为人切莫用心机,百年世事三更梦,万里乾坤一局棋。
禹开九州汤放桀,秦吞六国汉登基,古来多少英雄汉,南北山头卧土泥。
黄袍换得紫袈裟,只为当年一念差,我本西方一衲子,为何生在帝王家?
十八年来不自由,南征北讨几时休?我今撒手西方去,不管千秋与万秋。

我们的文化就是这样,每逢出大事就往宗教方面去想,有句话是这么说的“精神病不能成为犯罪分子逃脱罪责的附身符”,有的人被以精神病的名义抓捕,而有的人却以精神病的名义离身,文化其实就是这么个东西,没啥鸟用。

Read More