第二十六章 答疑解惑
【麦克:说到管理层,我们公司新来了个產品经理,第一天开会就让大家用jira建看板,结果他自己连jira怎么用都不知道。】
【全民超人:jira確实难用。】
这群人就像是没工作一样,整天就在群组里瞎水。不过考虑到远在大洋彼岸的东大的聊天群也差不多是这样,陈哲顿时也就无话可说。
【陈:中午好。】
【麦克:陈!】
【小王子:陈!】
【爱来自冒险家协会:陈!】
【爱来自冒险家协会:你怎么来了?】
无意义的三连串復读好悬没把陈哲干懵,好在后面总算步入了正题,陈哲就隨意打了几个字上去。
【陈:刚忙完,摸鱼看看群。】
【小王子:噢,原来如此。】
【小王子:这么看来,陈,也是在一家小公司里上班啊,让人难以想像程式设计师何时有出头之日……】
【麦克:都是狗屎。十几个人,老板天天画饼。】
【爱来自冒险家协会:哈哈。】
【爱来自冒险家协会:@陈,对了,那天聚会你那个短连结设计,我回去想了半天,还是有几个地方没搞明白。】
【爱来自冒险家协会:cdn缓存302这个我懂了,但预生成队列那块,你队列里的短码用完了怎么办呢?重新生成的时候会不会有空窗期。】
陈哲在走廊里找了个靠窗的位置站定,开始打字。
【陈:队列可以设一个水位线,低於某个閾值就自动触发生成任务。生成任务跑在另一个服务里,不占用分配服务的资源。就算生成任务掛了,队列里的存量还能顶一段时间。】
【爱来自冒险家协会:那生成服务本身呢?万一它崩了,又没监控到……】
【陈:可以加个守护进程,定时检查。如果发现队列水位连续几次低於閾值还没触发生成,就发告警。或者直接用k8s的cronjob,定期跑个脚本检查。】
【爱来自冒险家协会:k8s……你们公司用k8s?】
陈哲对此倒是不假思索。
【陈:没,自己玩的。】
【小王子:自己玩k8s?兄弟你家里开矿的?】
k8s的全称是kubernetes,中间的“8”代表了“k”和“s”之间的8个字母,意为“谷歌选择”,这个名字形象地表达了它在容器化环境中的核心作用——像舵手管理船只一样,管理容器化应用,以作为一个开源的容器编排平台,核心作用是自动化地部署、管理和伸缩那些打包在容器里的应用程式。
一般来说確实是烧钱大户,每个工作节点都要付费,倒也难免让群里人这么觉得。
不过陈哲在模擬之中身为流浪汉,当然就算把计算机技术练到了lv2,也用不上那么高端的货。
【陈:minikube,免费版。】
【麦克:操。】
【全民超人:这是真的,minikube也是k8s,没毛病。】
【小王子:原来如此。】
【小王子:那场聚会里我忘了说,我是那个和你说话的提米,很抱歉查看了你的个人信息,不过后面再看的时候发现你已经把它们刪了。】
【陈:没事。理解。】
【小王子:真的抱歉,职业习惯,看见新面孔总想了解一下背景。不过你动作够快的,我后来再去翻,只剩一个空壳了。】
【麦克:@小王子,你他妈就是閒的。】
【爱来自冒险家协会:+1】
【全民超人:+1】
【小王子:行行行,我错了。@陈,改天请你喝咖啡赔罪。】
【爱来自冒险家协会:这样,那还有一个问题,短码衝突怎么办?你预生成的时候用雪花算法,但雪花算法依赖机器id和时间戳,万一两个生成服务实例的机器id重复了……】
【陈:机器id可以在启动时从配置中心拉,或者用资料库行锁抢一个唯一id。实在不行就用redis的原子自增,生成一个全局递增的id再转62进位。】
【爱来自冒险家协会:我好像明白了,多谢指导。】
本章未完,点击下一页继续阅读。