答案:不慌。

为什么聊这个话题呢?

周末和朋友一起参加了个高并发的线下沙龙,疫情原因,好久没有去线下交流了,找个机会去看看有啥新东西。

我自己做高并发相关系统建设应该是17、18、19年那几年,后来更多做一些横向、跨系统的架构建设工作,解决的是流程、效率、稳定性、工具建设层面的事情。

当时解决了很多高并发场景下的性能、稳定性、高可用问题。也总结出了一套所谓的方法论,解决高并发场景下的问题,无非是从限流、熔断、降级、异步、缓存、分片这几个手段入手。当然不同场景下的具体问题是与其具体场景分不开的,还是要拆解下具体问题。

转眼也四五年了,想看看现在企业解决高并发有什么新的解决方案。

第一个案例是解决查询高并发问题的架构。听下来,无非是做了缓存拆分(垂直拆)、多了多级缓存、多级缓存有gc问题、做压缩、有数据一致性问题、做binlog同步等等。

你看解法还是没逃出上面八股文中的如何用好缓存这件事情。缓存穿透、雪崩、一致性就是做缓存解决方案首先要解决的问题。分享后面列了收益,比如QPS从十几万降到了几万,后续支撑了几十万等。

收益上列QPS这事没啥意思,我看很多晋升ppt里面都写了系统支撑了多少qps,但总体看下来qps高大部分解法就是加机器,要么就是原有解决方案太low了,本来不需要这么高的qps。比如我之前做过一个业务流程的优化,qps降低了50%,机器资源省了一半,听起来是不是收益很大?原因是什么呢?

我发现原来他是通过两次同步rpc分别获取了部分值,然后拼接起来做继续的动作,而且这两个接口qps都非常高。我问他们为什么分成两个小的rpc接口,他说考虑到复用性,接口都是最小化原则的。我的解法就是把两个合在了一个rpc接口上,这样就少了一半的qps调用,对应的资源就节省下来了。

如果我说我降低了一半资源,节省了几十台机器,听起来是不是收益很大?但是我觉得这个收益不值一提,因为并不是我做的多好,而是之前做的太差。

所以我不倾向于听到qps这样的收益,更多希望听到背后的本质改造,就是要脱离现象看本质,本质是调用链路不合理的,再用其他指标与这个收益结合起来。

第二个例子是一个广告系统的优化,怎么做的呢?分片。

没错又回到咱们之前的八股文里面了,这次的主要逻辑是分片。原来大的数据处理流程没做分片,所以数据处理过程非常长,导致数据指标产出延迟。怎么做呢?就分片了。

你看,四五年过去了,其实业界解决高并发方案没啥大的变化,区别只是场景和问题不同。相当于我几年前积累的高并发解决方案目前还是够用的。而且我过去2、3年前做的异地多活解决方案,还没怎么在线下meetup看到过呢?说不定过两年线下聊异地多活,和我之前做的也大差不差。

为什么说这个呢?

因为我们会发现,大家认为的技术飞速变化的逻辑其实是错的,很多逻辑其实没有变。只是不同场景和问题在变,技术的本质没有变。

高并发中的限流、熔断、降级、异步、缓存、分片这些宏观逻辑没有变,其实微观的线程、内存、IO的问题也一直没变,我们解决的还是这些问题。

这两年看了很多云原生解决方案,变了吗?其实也没有什么变化,只是对待研发流程与高可用的视角变了,目标还是更低成本。

DDD火了,但在我看来无非是面向对象的变种。DDD是2003年出来的,为什么最近又火起来了?是因为大家发现业务越来越复杂了?为什么越来越复杂了?因为越来越多的线下逻辑被搬到线上了。

架构是对现实世界逻辑的映射,这个本质依然没变,如果你理解不了现实世界的业务逻辑,你不可能做好业务流程建模,也不可能解决好他的架构复杂度问题,看这个本质其实一直没变。

比如今年搞稳定性专项这事,和很多同学沟通过程中就会发现,他们现在犯的错误,我当年都犯过。

既然前人犯过的错误,后人为什么还会犯呢?人就是这样,很多事情知道不等于做到,该犯的错误还是会犯的。所以有时候看着他们做事,就像看弟弟、妹妹做事一样,看他走着自己过去走过的路。

那么,做技术的,年龄大了你慌吗?

不慌。

只要你踩过的是那些所有人都会踩的坑,并积累了那些偏本质的解决方案和方法论,这些事情是会变成你的条件反射的,在再次遇到这样的问题时,会轻易的反馈出对应的解法,因为这些问题你太熟了。

再举一个例子,吉姆凯勒,他是芯片届的传说。

这是他的简历:

他到一家新的公司做芯片架构,总能推到之前自己书写的方案,不断推进芯片产业进步。

为什么一个国家都很难玩得转的芯片,在他手里这么容易呢?动不动就带来一个全新的芯片架构。

原因就是:唯手熟尔。

他有40年芯片架构的经验,对芯片的一切都非常熟悉。从最底层的指令集,到汇编语言,到高级语言都烂熟于胸。硬件上的晶体管,组成上的逻辑门,逻辑门构成的逻辑单元,组成的复杂处理单元,这些熟到在脑子里就可以构建出芯片的设计图,然后设计成电路。

但产业是靠天才吗?

其实靠的是时间,在AMD有几万个芯片研发工程师,他们大多有二三十年的经验,这些人都对芯片烂熟于胸,才能将芯片架构不断的推到重来。

技术企业其实靠的是对技术的持续投入,如果只是做上层装修,技术积累不下来。很多企业以为把老员工换掉,换成新员工,自以为省了成本,其实是挖坑填坑的过程,成本并没有省下。当然如果能力不行,一年经验当十年用,对行业技术没有本质积累的确实会被淘汰掉。

老员工也应该发挥自己的积累与经验,不断去突破与开辟新的技术土壤,让技术有更多的用武之地。

希望对你有用。

做技术的,年龄大了你慌吗?相关推荐

  1. 年龄大了,想继续做个好程序员有错吗?

    自从2022虎年到来的这一个月时间,我在CSDN Blink连续发表了四五篇关于程序员随着年龄的增长遇到的一些社会问题,尤其是互联网行业的种种涸泽而渔的现状,也分享了一些自己的见解,没想到在C站的反响 ...

  2. 一个女孩子做这个不太好,做不长久,特别年龄大了更不好做....

    一个女孩子做这个不太好,做不长久,特别年龄大了更不好做- 这些话做软件测试这行的女生经常会听到-那么女生做软件测试真的那么不好吗? 首先来看一下行业调查报告 从数据上来看,女生在测试行业的比例大幅度提 ...

  3. 做技术的,因为年龄和颈椎问题,想逐渐脱离码农状态,大家对30-35岁职业规划有什么好的建议? - 知乎...

    做技术的,因为年龄和颈椎问题,想逐渐脱离码农状态,大家对30-35岁职业规划有什么好的建议? - 知乎 做技术的,因为年龄和颈椎问题,想逐渐脱离码农状态,大家对30-35岁职业规划有什么好的建议? - ...

  4. 年龄大了学Java是爱好还是转型?

    年龄大了学Java是爱好还是转型? 一.前言 35岁,好像年龄也不小了,工作也有十年多了,一直搞编程,也已经做过几年研发管理.较多使用的是Delphi语言,对这门语言曾经一度的情有独钟.那是我十年前的 ...

  5. IT人不要一直做技术

    发表于:2009-03-04 09:51:44 楼主 IT人不要一直做技术 [引子]感觉这篇文章很有深意,正是我所想说的话.希望大家有借鉴. [原文] 我现在是自己做,但我此前有多年在从事软件开发工作 ...

  6. 程序员是“短命”职业吗?年龄大了是不是没前途?

    提及程序员,给大家的更多的刻板印象,莫过于宅男.熬夜.掉发.高待遇的形象.不过,现在对于一些程序员来说更为敏感的是,往往会存在一种35岁之后的烦恼,即职业"短命"的风险,对于程序员 ...

  7. 27岁做技术的女人感悟

    我来说两句吧,我今年27了,去年8月生的女儿,是一个工作5年整的软件开发人员.毕业后一直从事oracle数据库方面的开发,非常赞同 楼主说的那句话:毕业前3年还是学习积累阶段,3到5年间是逐渐成熟的阶 ...

  8. 给转型做技术的同学的一些建议

    本文转载自微信公众号<大飞码字> 这段时间结识不了不少的新朋友,有好些同学都想转型技术.应该是觉得写程序的薪资高,能赚更多的钱吧.刚好自己在这个行业多做了几年,我说说我的一些想法. 首先, ...

  9. 在做技术面试官时,我是这样甄别大忽悠的——如果面试时你有这样的表现,估计悬

    记得我刚做技术面试官的时候,还比较单纯,别人说什么就信什么.这本来也没多大的错,虽然有些候选人会夸张自己的技能,但毕竟大多数候选人都是比较诚实的,相信绝大多数的技术面试官也像我这样,会以君子之心度人的 ...

最新文章

  1. php的反射作用是什么意思,php反射的作用是什么
  2. oracle学习总结三(bulk collect用法)
  3. 深究AngularJS——ng-drag、ng-drop
  4. uva 515 King
  5. vmstat使用简介各种linux命令使用
  6. 【BZOJ5213】[ZJOI2018]迷宫(神仙题)
  7. 基于php的外卖订餐系统开题报告_石化二小参加区2020省市级现代教育技术课题研究开题会议...
  8. tomcat安装并设置开机启动
  9. 编程题常见输入格式处理方法
  10. 聊聊我怎么系统学习Linux技能并快速提高的
  11. 如何调试神经网络参数
  12. 常见端口号和对应协议
  13. nrf52840蓝牙协议栈主机BLE串口
  14. python for ArcGIS 绘制重庆市板块地图
  15. 视频处理系列︱利用达摩院ModelScope进行视频人物分割+背景切换(一)
  16. 基于java的采购管理系统的分析与实现(含源文件)
  17. 2020.06.27 肉包去了喵星球
  18. css3特效(上下左右晃动效果)
  19. asinh() 函数
  20. Batbot电力物联网云平台在长生桥生态修复工程中的应用

热门文章

  1. CF510D Fox And Jumping(动态规划转换为最短路,O(n^2×2^9) -> O(nlogn),裴蜀定理应用)
  2. 2020 ACM / ICPC 济南 A Matrix Equation (高斯消元、乘法原理)
  3. java接口的定义及使用细节
  4. mysql建表字段不能重复_MySQL建表的一些约束条件
  5. html语言区别大小写吗,用HTML语言制作静态网页基础问题1.标注是否区分大小写?2.下 爱问知识人...
  6. Spark:group by和聚合函数使用
  7. 人算不如“云算”,且看新时代“借东风”
  8. Ubuntu 组态 Tomcat而每天的错误解决
  9. javascript-XMLHttpRequest
  10. C语言:简单而不易懂的声明(二)