【JAVA】准生产应用宕机-项目流程问题

133 阅读6分钟

背景

xxl-job执行端生产宕机了,什么都不执行了

咋回事

当时没拍照,现象就是各种报错,redis、网络、数据库,这篇是复盘。

还好之前有经验,一眼磁盘满综合症

但磁盘共享存储很多,挂载给这个应用的也又200G,du-sh没满

专业的人要敢于下判断!就是磁盘。

我们应用挂了嘛,然后就会探针重启,重启次数很多,看重启后第一次报错,堆栈都写清楚了readBuffer,writeBuffer这种native方法报的错,很符合磁盘综合症!

所以再次检查du -sh 发现不止一个log目录,遂得到结论,tmd上生产都没评估过配置修改(但也不怪研发,甲方傻逼催得紧),xxl配置的日志还是相对路径的我滴乖乖……

所以是应用日志走共享存储了ok,但xxl零碎日志执行文件都还在容器存储,就1g,就我们这个拆东墙借过来的一些能力需要的频繁调度日志,那不炸才有鬼了。

ok

收工,改配置,一切正常

后记

本次问题,只是这个项目无数问题的一个体现。各种我就要xxx时间上线,和领导汇报邀功,导致的各种章法都没有,赶鸭子上。

项目该有的流程都被甲方要邀功汇报/甲方拒绝决策要求你去给他们出管理办法给毁了。

举个形式主义例子:需求不明确,pmo却为了“自身职责”要求你出资源评估和需求方案、项目概设。乐

作为引子,列一列。这个项目最大的问题呢,大抵有几点:

(1)尸位素餐:没有担当又好大喜功的甲方,与喝酒领导签的天坑合同

甲方完美符合既要又要还要,不做决策但要你做事。

招标做项目,但需求都要你来梳理,这就算了毕竟是乙方领导酒桌签的天坑合同。

但甲方甚至不决策你定的需求可不可以,就是把你当他们的临时工又这又那,做好了就是领导有功他汇报邀功,做差了就是乙方权责质疑能力。这种国企赶紧死了吧。

合同的坑点还可以延申,就是有个2甲方咨询公司也承担了一部分项目,而这个二甲方就是站着说话不腰疼的角色了:

  • 他们承担的是成熟系统翻新,他们拿的钱是咨询的钱,就导致需要向甲方硬气的时候,这个二甲方会屁股歪。 二甲方的pmo做事好似有一番方法,但也是做功劳埔吃老本(当然这是复盘才发现的,当时我也菜)。

对于此次项目我方承建的部分,他没有什么正面推动,只会在那狐假虎威替主子考虑把自己摘得干干净净,美其名曰pmo职责。

二狗子:甲方既要有要,他就传达主子的意志,甲方不想决策,他就要求继续调研

再说下会引发性别对立的话:甲方基层项目经理,甲方2级,二狗子PMO,都是女的,他们的工作“能力”最强的是PMO,至少还会按套路来(虽然也是恶心人传话筒)。甲方那俩直接就是国企一切恶性刻板印象的直接体现。无担当无作为无责任无底线无章法无信用。 这是我方项目参与者的一致看法。

与之相对的就是二狗子PMO的技术经理,就很好,虽然也是尽量抛,但至少能看出来只是为了减少他们一方开发工作量,且也是对项目负责,而不是叽叽喳喳传话筒行为。二狗子PMO那女的真是只对pmo职责和这份钱负责,项目做的好不好他都无所谓了,而他的主子也没能力做好,完蛋。

(2)乐不思蜀10年:乙方坐在功劳埔管理层

喷完了外部喷内部!

如何一句话概述:这个项目来了6个总监,2个项目经理(女换男),3个部门经理,却只给了8个开发,3个测试。

1、总监们总是在基层顶不住时开会,当时还感觉闹得挺大,但事后复盘,他们对项目的推进作用呢? : 有但不多,他们在基层迷茫或者做不下去时开会,心肯定是半好半坏的。

坏的是考虑自己一方能得到什么坑其他方,宫斗心机; 好的是站在干岸上确实可以做出一些旁观者清的判断,但仅此而已了。作为乙方他们一堆大领导在那高谈阔论,但也没人敢直面问题本质,即:向客户说不。 每次都是列问题,列完就完了,结论总是向客户妥协,然后再苦一苦研发苦一苦测试苦一苦项目组成员。

各怀鬼胎,直属的总监想着把人力扯出来,中途我们借资源的总监想着分走一些钱,现场销售的总监想着……他被边缘化了,合同就是他干的,北京那片的总监想着把责任扔回我们。

最后到了集团CEO发话了要团结,互联责任。

但是但现在还是这么几个干活的人,哈哈哈。

(3)薪资结构组织架构的根本性矛盾

管理是一堆的,工资是远高于普通员工的,贡献是有限的,干活的人是不够的。

喊着凝共识、聚人心、齐目标,但这种前提下谁在乎你项目死活,领导挨骂活该,你拿的就这份钱。 , 一堆领导一堆外包,不是国企胜似国企的臃肿,这能有什么技术实力呢?最后就回到那个喝酒领导,双向实现/

(4)自身/公司的局限性

缺少干咨询的人,就这样。直接要背锅的话那就是我们,没人知道这个项目的风险这么大。

风险意识欠缺,前期调研没有明确以敌人的画像去分析二狗子和甲方。没有意识到利益强烈冲突和甲方的不作为的风险。

如果早期就把甲方和二狗子风险强烈要求捅到我方CEO决策赋权对抗,会好很多。

进而导致各种需求分析,设计,资源评估,上线准备,运维准备都是形同虚设的,代码质量更一坨