一天最惬意的时光莫过于晚上坐在阳台里,远望星空。虽然是极晚了,云朵仍然不忘旅行,逢着晴朗天气,还能遇到星星出没。
星空之下,小区的东边,有一条大道直通南北,大道两旁的照明灯远远看去,像是闪烁的星星。正如郭沫若所说:远远的街灯明了,好像闪着无数的明星。天上的明星现了,好像点着无数的街灯。
看到这迷幻的情景,我又想到凯文凯利的<<失控>>,里面以工蜂和蚂蚁的社群为例讲述了现在或未来社会无中心分布式得协同生活。我之前并未看完,但此本书面向未来,具有超前思想,很适合人工智能,分布式等扩展思维。
目前火热的云计算也是借鉴了自然。道法自然。生于斯,长于斯,成长于斯。就连最基础的软件工程,也是取决于建筑行业。
爱思考的人脑海总是天马星空,如没有记载,很快将会遗失到九宵云外。
任务调度
软件中的各种定时,延时作业是否类似于车来车往的十字路口,红绿灯的定时切换现象?扩展思维,车流人流类似任务,红绿灯像是个带状态的定时器,车道类似线程。
在同一个十字路口,车道的总数是固定的,他们是前进还是停止是观看对应的交通灯状态来自主决定。你如果不想出事故,一般都会遵守交通规约的。一般软件里面是时间轮询,主动去触发任务,和现实世界人流观看交通灯决策是相反的。这两种哪种更高呢?在设计任务调度时,是否可以考虑任务根据调度系统的时间状态来自行决定执行?这仿佛是一种待提炼的设计模式。有待开拓。
在交通灯故障或车流量过载时,一般需要交警或辅警进行交通指挥,这类似一种补偿机制。也类似是调度中心过载时备用方案。软件设计中,我们要思考这种备用么?
学而不思则罔,思而不学则殆。
高并发
大家对春运的人流量都有很深的印象。单个点要进站的有很多,同时进去不现实。这里就需要分批排队机制,延长护栏机制,茶水室优先进入机制。
分批排队机制确保按车次有序分批进入,
延长护栏机制,一到春运,护栏就格外的长,这样也有好处,不会把流量堵到一个点,分散延长。
茶水室类似为付钱或其他人士提供优先服务支持。
仔细想想,高并发,不就是负载均衡分流,验证码或拖拽验证等机制延长操作时间,某些关键业务保持优先级。其他业务可以异步。
设计思想来源于生活,高于生活。
微服务网关
说到网关对服务的监控,限流,熔断,异常重试等操作,你会不会想起十字路口的摄像头,大桥,保险丝等?服务的隔离,是不是想起了集装箱。最著名的容器docker更是以集装箱距离。我们离生活如此之近,离代码如此之远。
人法地,地法天,天法道,道法自然.