这波技术社区的程序员,技术视野有点堪忧!

前一段时间写了一篇文章《凌晨1点突发致命生产事故,人工多线程来破局!,只是一篇生产事故的记实文章,没想到在圈内流传甚广,其中有程序员对其中的细节有点疑惑,刚好国庆可以和大家再进一步探讨一下。

现在技术圈有一个不太好的现象,经常看到这样一个现象,当出现稍微热门一点的文章的时候,总会出现两级分化的现象,一拨人会反馈牛逼写得太好了,然后另一拨人总是反馈又开始吹牛逼了,各种无脑质疑。

个人认为两个现象其实都不太客观,一篇文章的出现只是作者本人对于技术的阐述,难免有自身的局限,同样既然能写文章必然也不会是瞎乱吹牛逼,那毕竟也有同事朋友都认识,后面还要在这个行业混。

既然文章肯定具有它的局限性,如果写出来读者可以给出一些更好的建议,这样对于写文章的人也是一种学习,我经常从读者的留言中学到了很多知识,这是一种正反馈。

现在的问题是很多技术人把抬杠当作了一种本事,用以展示自己的优越感,如果能说到点子上也还好,关键是有的留言你一看就可以发现,技术涵养太低了明显是不懂行的情况。

这篇文章发出来后,公众号的用户反馈还可以,因为大家对我有个基本认识,在博客园和开源中国中,部分技术朋友质疑比较多的地方给予解释一下:

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

回复:淘宝、京东到底有多少商户我还真不太清楚,所以不敢妄言,但请不要轻易低估一家排名靠前的第三方支付公司的数据量,由于历史堆积、外放通道等各种原因,这点数据还是有的。

至于在生产环境找十台服务器,这种操作应该是随随便便的一个中型互联网公司都能搞定的,之前公司至少用了 300-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 的模拟生产环境,每年的花费大概在1000万以上,中型互联网公司很难说服老板去干这件事情。

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

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

至于属不属于作坊式的阶段我不反驳,流程上肯定是有缺陷的这个我认可,但并不是一个程序员写一个接口做几十亿的系统迁移,如果真的是这样那还需要留 20 号的人在这里干嘛。

这么大级别的数据迁移肯定是一个系统性的工程,并不是1、2个程序员可以负责的,但是迁移程序的发起入口用 1、2 程序员负责足以,中间需要调用 N 个系统的接口配合来完成整体的工作。

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

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

这个迁移程序在干这次大活之前,其实已经经历多次考验了,所以从某种程度上来讲这次出问题,轻视也是问题发生的原因之一。

不但已经多次使用,在正式迁移之前也安排进行了多次的验证,只是做为管理者没有和程序员一起深入排查部分细节,存在部分管理失职。

另外有的读者说为什么不使用多线程,我强调一下整个迁移项目使用了多线程,并且还不是仅仅一个多线程,只是程序的最外层没有使用多线程,也就是我们后面的补救方案。

其实还有很多问题,这里不再一一回应,有的提问真的是太低级,感觉都不应该是一个程序员提出的问题。

不过还是有一些读者会对这种大规模迁移有所了解,这其中涉及的细节简直不要太多,任何一个小的忽略都有可能导致大的问题,这种事情没有办法在文中一一举例出来。

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

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

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

作者简介纯洁的微笑,一个有故事的程序员。曾在互联网金融,第三方支付公司工作,现为一名自由职业者,和你一起用技术的角度去看这个世界。我的微信号puresmile2,欢迎大家找我聊天,记录你我的故事。

Image placeholder
IT头条
未设置
  80人点赞

没有讨论,发表一下自己的看法吧

推荐文章
全球经济视野下的智能博弈:百度AI,冲向天穹

我们经常讨论AI技术对于一个企业、一个行业的价值。而如果我们把所有这些价值聚拢,或许会惊奇地发现,AI技术对于一个国际、一个时代来说,价值也是重逾万钧的。根据麦肯锡发布的《人工智能对全球经济影响的模拟

开源社区的技术债:写代码的“码农”VS 删代码的“清道夫”,谁更该被嘉奖?

大数据文摘出品编译:楚阳、橡树、钱天培对于开源项目来讲,写新代码的贡献者不一定是好程序员,但不会删代码的程序员一定不是合格的程序员——因为“删代码”才是使开源软件项目的代码简洁高效的关键所在。Mong

代码传奇 | 身价10亿的程序员 雷军当年也为他打工——WPS之父 求伯君

他的前半生,值得我们每一个人深思。在普通人眼里,他寂寂无名,只有年岁稍长的文化人,才听说过他传奇般的存在。在IT人眼里,他是块活化石,中国第一的大旗除了他,没人敢抗!他是求伯君,从一个浙江穷山村走出来

看,那个35岁的程序员好像一条”狗“…

35岁并不是所有的程序员都成了架构师也不是所有的程序员都荣升技术总监更不是所有的程序员都转成了项目经理大部分35岁的程序员依旧是一线码农…..有的是真心喜欢,而更多的却是无奈。无论何种原因,35岁的程

电击、警棍、爆头,被骗去柬埔寨的程序员有多惨?

本文转自 |互联网翻车指南作者:徐车长 编辑:田鸭前几天,我失联了两年的好哥们,从迪拜回来了。他飞机一落地,我就收到了他的微信:「老子终于回来了」。我这个哥们的职业是程序员,业务技术很好,两年前一个美

会唱歌的程序员为何如此受欢迎?

 作者 朱小五爱奇艺的独家综艺《乐队的夏天》总决赛终于落下了帷幕,虽然决赛过程有些“曲折”,但是我最喜欢的刺猬乐队,仍然凭借自己的硬实力,最终排在第二名!值得一提的是,这只乐队的吉他手兼主唱也是一位程

Github标星十万+!愤怒的程序员发起996.ICU,小本本投诉过度加班公司

大数据文摘出品作者:蒋宝尚哪里有压迫,哪里就有反抗。作为程序员的你,这几天一定被名为996.ICU的github项目刷屏。3月27日,有开发者在GitHub上建了一个名为996.ICU的repo,该r

408路公交上的程序员

作者| 刘念来源|公众号“谷雨实验室” 未经许可,不得转载。这些程序员在创业公司工作多年,曾一同怀抱着拿着期权实现财务自由的梦想。最终却不得不一次次坐上通往劳动仲裁院的公交车。在一家创业公司工作6年后

93.7% 的程序员!竟然都不知道 Redis 为什么默认16个数据库?

▍导读在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立了16个数据库,如下图所示。椐调查发现:

@程序员,请万分珍重你的第一份工作

01、我的故事昨天我在群里发起了一个议题:读者朋友们,大家伙觉得第一份工作重要吗?回答不要太统一,重要个屁——不可能的。老读者都知道一些我的经历了。高考失利,因为太文弱干不了搬砖的活,就上了大专,大三

干了5年程序员,该如何转行?5个新工作方向了解一下

大数据文摘出品来源:Medium编译:灿灿、曹培信写了5年代码,年龄已近30,头发尚存几缕,除了写代码其他并无所长,职业未来在何方?对于从毕业就进入互联网公司,已经工作了5年甚至更久的程序员来说,现在

大神程序员,夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时都在线

栗子鱼羊 发自凹非寺转自量子位 |公众号QbitAI大神程序员,夜夜coding到天明?有位名叫IvanBessarabov(简称“伊万”)的好事者,刚刚统计了各路大佬的代码提交(gitcommit)

35岁只是普通程序员,还有救吗?

作者:草核儿来源:木东居士关于作者:草核儿,互联网行业沉思者!希望传播的是正能量,但偶尔会被误以为是散播焦虑!欢迎大家多多交流~0x00还有救吗?看这个标题,就感觉是一篇焦虑文。好了,本草核儿今天的确

东南亚的博彩骗局,被房贷压垮的中国程序员,一个褪色的互联网黄金时代

当大国经济在经历互联网寒冬——程序员失业、就业承压时,一场魔幻的骗局正在东南亚加速发酵。这是一场针对中国程序员、针对走投无路的底层群众的骗局。利益链上的每个人都赚得盆满钵满,而榨取的,恰恰都是同胞的血

我是程序员,每一天都太难了!

互联网圈子里有一个神奇的群体——程序员。他们每天穿着格子衫,背着双肩包挤地铁,一到公司就陷入了“打代码-喝水-上厕所-打代码-喝水-上厕所”的死循环。热(jia)爱(ban)工(yan)作(zhong

程序员,练就哪些技能才胜任架构师?

关注「 IT老兵哥 」,赋能程序人生!本系列前序文章索引: 程序员为什么必须要懂架构? 架构到底是什么,你知道吗? 架构都有哪些,我该怎么选? 架构师都干什么,你知道吗? 架构师,我们程序员打怪升级的

5位女性程序员的自白:计算机不撒谎;女程序员的代码一样也很棒

谁说这个领域就是男性的天下偏见本身就是一种带标签的想法她们的世界里只信奉“computer never lies”她们认为代码漂亮比发型漂亮更重要她们到底是谁?谷悦是喜欢简单、纯粹工作的气质女神,八年

老程序员肺腑忠告:千万别一辈子靠技术生存!

作为一个多年开发经验的老伙计,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT、NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发。 1一个程序员正确的自我心态究竟是什么样?

程序员的遮羞布:这个需求技术上无法实现

老读者都知道的,我在三线小镇洛阳工作。公司很小,开发人员最多的时候也就十来个,最少的时候也就我一个光杆司令。由于掌握着公司所有的核心代码,所以我一直很嚣张。老板也拿我没办法,有时候为了追加一个功能,还

把 14 亿中国人都拉到一个微信群,程序员在技术上能实现吗?

根据国家统计局的数据,截至2017年末,中国大陆总人口为13亿9008万人(包括31个省、自治区、直辖市和中国人民解放军现役军人,不包括香港、澳门和台湾以及海外华侨人数),早已超过13亿。目前,微信群

你的公司是需要数据科学家还是数据工程师?差别有点大

越来越多的企业关注AI,企业组织也意识到拥有相关人才和技能非常重要。特别是最近对AI、机器学习(ML)、非ML预测分析和“大数据”的应用,使得数据科学家的需求有了显著的增长,未来还将继续。事实上,对数

昨天keep突然裁员,我连夜卷铺盖走人

“前辈,我被裁了……”“哪家公司啊?”“keep,就是那个搞社交健身的app”“真的假的?昨天可是程序员节啊!!!”“真的,我已经卷铺盖走人了…”“真会挑日子,给补偿了吗?”“给了,N+1。”刚从朋友

甲骨文裁员,N+6 赔偿……部分员工不满

本文转自|猿记据多家媒体昨日报道,5月7日上午甲骨文召开了面向全中国区的电话会议,亚太区人力资源负责人在会上简要介绍道,公司正进行业务结构调整,导致一部分人要离开岗位,这将是全球性的。据悉,此次主要裁

腾讯7年老员工遭暴力裁员,官方回应:该员工工作成果不匹配岗位要求

01腾讯回应暴力裁员近日,有自称腾讯7年老员工的网友发文称,人到中年,被腾讯暴力裁员。文中提到,2019年3月某天下午,腾讯HR派出大批保安单方面暴力裁员,让很多保安逼迫其收拾东西离开,当场封掉工卡等

可视化编程是否真的没有未来?程序员:它有“七宗罪”

今天想聊聊可视化编程(visual-programming)的未来发展,喂喂,咱们这儿还没开始,各位大佬先别急着走啊您……确实,可视化这个概念跟任何技术并称,都是技术前沿、下一个风口、万亿市场的代名词