find/xargs遇到文件名带空格的问题

之前写的一个shell函数里面用到的find/xargs在遇到一些名称带空格的文件时报错,印象中曾在王垠的博客看到过find与xargs有参数解决这种情况,查了一下需要分别使用-print0-0来把空格当作特殊字符对待。函数是用来对整个目录做cksum,修改后如下:

function check_sum() {
    local dir=$1
    local dirsum=0
    for sum  in $(find ${dir} -type f -print0 | xargs -0 cksum | awk '{print $1}')
    do
        dirsum=$(( ${sum} + ${dirsum} ))
    done
    echo ${dirsum}
}

下午的一出戏

吃过药后身体有些发热,虽然还有很多事情要做,脑子完全不在状态。晚上去吃饭的时候,看到一个穿着戏袍的人从雨中穿过。在等饭的时候,想起几年前在滨江所住的小区居民多是当地农民回迁,他们依然遵循自己的习俗,每当有人去世时会请来道士做法;甚至也会请人来唱戏,就在小区的空地上搭起一个帐篷,摆上一些椅子,请一两个唱戏的和几个吹鼓手,所唱的可能是越剧,不太能分辨。有一次凌晨一点回来,看到帐篷里仍有灯光,一个男子,穿着孝服坐在那里,可能是在为死者守灵。

我对戏剧没有特别的兴趣,但是对小时候家乡的社戏却一直有印象,那是一个很大的舞台,用来唱戏或放电影(文革的时候也用于开大会)。一般要唱戏时也是一些节日,通常是非常热闹的,挤满了人。当然小孩子去主要是为了让大人给买一些吃的。我从未听明白过他们唱的内容,记忆中八十年代初期唱戏的时候就已经将字幕通过投影给播放出来了,是在剧幕的一侧竖绑着一块布将字投在上面的。九零年去了城市,再没有看过社戏。只是陪母亲在看电视时看过几部以戏曲形式改编的电视剧,那几部似乎都是黄梅戏。

在杭州和宁波的郊区,这里的老人们仍保留着看戏的传统,不过这份传统恐难以延续了。陈明章有一首歌叫《下午的一出戏》,多年前初听的时候虽然听不懂闽南语讲的什么内容,却被那股哀凉所侵袭。后来才了解所唱的大意是说“下午的时候下了一阵雨,在唱陈三五娘这出戏的时候看戏的伯伯都走了,没有一个人看戏,台上锣鼓声声,台下无人叫好。”

nginx反向代理对后端某个节点优雅下线的问题

上次雪球的SRE同学过来交流的时候,一同聊到过关于后端节点优雅下线的一种情况:nginx将请求给了一个后端节点,这个请求在后端耗时较长,在请求还没处理完的时候后端恰好要做发布,发布时先将该节点对nginx的健康检测标记为不可用,这样nginx就将该节点从后端集群里摘掉了,若在这之后这个请求才处理完毕,是否还会正常的经过nginx返回给客户端,还是当nginx通过健康检测发现该后端节点已经不可用时,其建立的连接也已经不可用了呢?

当时问他们说也不太确定,后来忙忘了去验证一下,今晚写个小程序在tomcat端sleep 20秒才返回,然后通过nginx配置健康检测为1秒X2,测试结果表明,即使nginx发现后端节点已经不可用,只要该请求连接还保持,并不会被nginx端主动中止,20秒之后客户端仍会得到处理结果。

这样对于用nginx做负载,在后端发布时,对健康检测标记不可用之后只要再留出一定的时间让之前的请求都已响应完毕即可。