关于深夜技术事故纪实录的若干问题回复

  • 时间:
  • 浏览:0

前一段时间写了一篇文章《午夜1点突发致命生产事故,人工线程来破局!》,然后 一篇生产事故的记实文章,没想到在圈内流传甚广,其蕴含线程员对其中的细节很重疑惑,刚好国庆里能 和我们我们我们 再进一步探讨一下。

现在技术圈另另一个多多 不太好的问提,一直都看完后 另另一个多 问提,当老出稍微热门其他的文章的完后 ,总会老出两级分化的问提,一拨人会反馈牛逼写得太好了,然后 另一拨人一直反馈又结速了吹牛逼了,各种无脑质疑。

买车人认为另另一个多 问提嘴笨 就有太客观,一篇文章的老出然后 作者买车人对于技术的阐述,难免有自身的局限,同样既然能写文章必然然后 会是瞎乱吹牛逼,那毕竟就有同事我们我们我们 都认识,后边需用在这个行业混。

既然文章肯定具有它的局限性,不可能 写出来读者里能 给出其他更好的建议,完后 对于写文章的人也是并否是学习,我一直从读者的留言中学到了全都知识,这是并否是正反馈。

现在的问提是全都技术人把抬杠当作了并否是本事,用以展示买车人的优越感,不可能 能说到点子上也还好,关键是有的留言你一看就里能 发现,技术涵养太低了明显是不懂行的清况 。

这篇文章发出来后,公众号的用户反馈还里能 ,不可能 我们我们我们 对我有个基本认识,在博客园和开源中国中,累积技术我们我们我们 质疑比较多的地方给予解释一下:

问提 1:“几百万商户、几千个代理商”,“上千多张表,关系极为复杂”,“在生产环境找十台服务器”最少也得是淘宝,京东这个级别的电商网站也能有这个规模了吧!

回复:淘宝、京东到底有有几个商户我还真不太清楚,全都不敢妄言,但请不用说轻易低估一家排名靠前的第三方支付公司的数据量,不可能 历史堆积、外放通道等各种原应 ,这点数据还是有的。

至于在生产环境找十台服务器,这个操作应该是随随便便的另另一个多 中型互联网公司都能背熟的,完后 公司最少用了 400-400 太服务器,从中找个10台就有啥问提。

问提2 :吹哪些牛逼,难道贵公司是淘宝,拼多多?淘宝也就几百万商户,还日均 40 亿的交易量,用 Spring Cloud 几百个微服务撑不起没有大的体量。

回复:淘宝也就几百万商户这个数据准确吗?蕴含个体小微商户?

日均 40 亿的交易额在线下收单这个行业这不算高,下面这张是网传收单机构2019年7月交易量排名截图,排名第 10 就不可能 不止这个交易量了。

用 Spring Cloud 几百个微服务撑不起没有大的体量这个问提,就明显是另另一个多 外行得没有再外行的问提了,我想要姑且不说有有几个成功案例了,就这个评估办法 然后 低级的。

没有说哪个技术里能 支持有几个体量不可能 没有支持有几个体量,要评估这个问提,需用看是哪些样的团队在哪些样的场景以哪些样的办法 来使用次技术。技术并否是不用说能决定能支撑多大体量,最重要的是看你为社 用它。

问提3:我为社 看这是数据库工程师的工作,为哪些需用写线程迁移呢?

这个看然后 技术小白了,从另另一个多 非常老的系统迁移到另另一个多 完正的新系统,这其中的业务变化、逻辑变化有有几个?不可能 能让 DBA 直接迁移说说,那这个系统有多简单?

且不说这个系统涉及尽千张表,完后 老系统的架构和新系统的架构差别有多大, 最重要的是这个新系统后边还跟了另另一个多 大数据平台,大数据平台需用根据新系统的 Binlog 日志,做相关数据的逻辑操作。

全都从读者提问并否是来讲,就能看出根本不明白这个难点在哪里。

问提4:为哪些不建另另一个多 生和熟产 1:1 的环境来模拟测试呢?

一般清况 下研发会有二个环境来测试:

  • DEV 开发环境,研发人员开发完成自行测试环境。
  • SIT 集成测试环境,将买车人项目上传到 sit 一般就进入测试部测试阶段了,整体集成测试。
  • UAT 客户集成测试环境,一般里能 做内部合作办法 者商对接的准生产环境,要尽不可能 的生和熟产环境保持一致。
  • PRO 生产环境,这个我们我们我们 都清楚,然后 真正项目要运行的环境。

读者说的1:1 环境,应该然后 需用 UAT 和 PRO 的环境尽不可能 的保持一致,这是另另一个多 比较理想的清况 ,估计没有累积有钱的互联网公司里能 真正实现。

我们我们我们 做另另一个多 中型的互联网公司,每年在 IDC 后边的花费最少在几千万,不可能 要完正 1:1 的模拟生产环境,每年的花费最少在4000万以上,中型互联网公司好难说服老板去干这件事情。

问提5 :更别提都啥时代了还 servlet,从描述的技术方案和解决流程来看,基本属于作坊式的阶段,另另一个多 线程员写另另一个多 接口就能做日均几十亿交易的系统迁移了,呵呵。

使用 Servlet 其他就有过时,现在企业级开发90%的公司都使用的是 Spring MVC 吧,Spring MVC 然后 Servlet 包装出来了,很过时吗?

至于属不属于作坊式的阶段我不反驳,流程上肯定是有趋于稳定问题的这个我认可,但并就另另一个多多 线程员写另另一个多 接口做几十亿的系统迁移,不可能 真的是完后 那还需用留 20 号的人在这里干嘛。

没有大级别的数据迁移肯定是另另一个多 系统性的工程,并就有1、另另一个多 线程员里能 负责的,然后 迁移线程的发起入口用 1、2 线程员负责足以,后边需用调用 N 个系统的接口配合来完成整体的工作。

问提6 :我嘴笨 这个错误犯得很低级 日数据量达到几十亿次的应用 我们我们我们说没考虑到数据量过大迁移耗时太长的问提?平时小项目写个定时器时会考虑会不用执行时间过长原应 ,第一次还没执行完就执行第二次,我们我们我们 面对千亿的数据量我们我们我们说没有考虑这个问提?

这个问提中另另一个多多 错误,交易额是日几十亿而就有交易量几十亿次,订单量远远没有到达这个量级。数据迁移当然考虑了迁移时间,在整个项目迁移完后 嘴笨 不可能 进行过全都次的小规模迁移了,并就有第一次迁移,这个文章中也说明了,这个提问者明显没有都看就来喷了。

这个迁移线程在干这次大活完后 ,嘴笨 不可能 经历多次考验了,全都从并否是程度上来讲这次出问提,轻视也是问提趋于稳定的原应 之一。

不但不可能 多次使用,在正式迁移完后 也安排进行了多次的验证,然后 做为管理者没有和线程员一块儿深入排查累积细节,趋于稳定累积管理失职。

另外有的读者说为哪些不使用线程,我强调一下整个迁移项目使用了线程,然后 还就有仅仅另另一个多 线程,然后 线程的最外层没有使用线程,也然后 我们我们我们 后边的解决方案。

嘴笨 还有全都问提,这里不再一一组阁 ,有的提问真的是太低级,感觉就有应该是另另一个多 线程员提出的问提。

不过还是有其他读者会对这个大规模迁移有所了解,这其中涉及的细节我们我们我们说不用说太久,任何另另一个多 小的忽略就有不可能 原应 大的问提,这个事情没有办法 在文中一一举例出来。

不过我嘴笨 有一位读者的回复我比较认可:

哪些说风凉话的肯定没有做过上千张表新老系统的迁移,还数据库后边件对接,呵呵

最后,还是那句话:保持技术人的那颗初心,一切以解决实际问提为主。