关于近期技术改造的一些思考

简介:

 在过去的差不多一个半月时间里,有幸参与了订单列表的翻译工作,这个工作就做一个事情,将订单列表的实现由php语言改为java语言(类似于搬运工的工作)。在这个过程中有一些个人的感悟,沉淀下来作为个人的总结。

 个人感悟亦或是总结我觉得主要是分为两大块,一块我称之为项目把控的反思,另一块我称之为技术上的反思。


关于技术改造中项目把控的反思

现状的分析

  • 这里想强调下前人工作的重要性,我参与的技术改造属于二期,所以很多问题和隐藏的坑已经被前人很好的解决了,我们能够站在前人的肩膀上继续前进。
  • 因为有了前人的铺路,至少在两点上我们比较有信心,第一是实际方案的选择上几乎沿用了技术改造一期定的方案;第二是心理上对技术改造过程中能够遇到的困难比较乐观,至少我们能够遇到的问题不会比一期的更多,类似于有点战略上要藐视,战术要重视的意味。
  • 实际执行当中至少技术上我们遇到的困难跟我们预估的比较相近,没有出现预期之外的问题。

跨团队协作问题。

  • 在这个改造过程中,由于依赖的上下游业务接口同样需要由php改造为java的实现,所以这里就需要涉及到跨团队的协作问题。
  • 针对这种跨团队的协作,我们也借鉴了一期技术改造的经验,通过前期梳理依赖接口,友邻团队专人跟进的方针去实施,这个方案的优点在于友邻团队能够在集中的时间窗口内提供服务。
  • 实际过程中还可能遇到前期梳理存在遗漏的依赖接口或者提供的服务接口存在问题,这些都需要与友邻团队保持沟通及时反馈解决,这个过程中可能会零散地贯穿整个过程。

做好应对突发问题的预期

  • 在整个技术改造过程中需要做好应对突发问题的预期,突发问题在实际改造过程指的就是原本已经在线上使用的接口有可能在java中就不好使了。
  • 实际遇到的最大的突发问题就是原本java的服务通过rest协议发布服务在线上使用没有问题,但是一旦转为dubbo调用之后,各种不规范的写法导致的问题就会爆发,主要集中为基本的对象序列化定义缺失,导致部分接口需要重新发布上线。
  • 另外,在开发和测试过程中会遇到一些服务不存在预发环境或者预发环境经常性重启服务不稳定,针对这种问题我们基本上把这类服务直接直连线上,当然这是有前期条件的,那就是我们的服务都是read类型,所以不存在污染线上环境的可能。

及时做好向上管理

  • 这里主要想强调的是对于这类技术改造的项目,前期我们很难有全面的时间评估,而且大部分技术改造都是按照deadline来倒推时间线,时间点大概率是比较赶的,能做到的就是尽量往前赶,保证deadline之前完成。
  • 在保证大deadline的前期下,对于未按照实际排期完成任务的情况,需要及时反馈问题做好向上管理,保证双方得到的信息是一致的。

技术改造时间点的选择

  • 对于电商公司,Q3进行技术改造不是一个好选择,特别在双11-12期间,事实证明时间会被各种打乱。


关于技术改造中技术上的反思

翻译和重构的平衡

  • 在改造过程中会自然而然遇到是直接搬运代码还是按照功能重构代码的灵魂拷问,平心而论直接搬运代码有辱程序员的底线,而按照功能重构代码又有时间上的问题,所以建议在两者取个平衡。
  • 在保证时间点的前提下尽量把原来一团麻的代码进行有限的梳理,至少按照功能块拆分下保证条理顺便保证下代码的可读性。
  • 强烈建议在模型和视图(MV)这个原则上,需要在代码上强行进行隔离,不然你会发现后人会在原本视图的基础上耦合进各种模型的内容,导致代码腐化的非常严重。

新技术和新平台的使用

  • 在改造过程中针对具体实现,如果使用新的技术特性能够节省工作量那么强烈建议使用,至少在我们改造过程中java8的stream的语法节省了大量的工作量。
  • 咨询下公司内部是否有新的平台能够帮忙提高自测的能效,如果有那么同样强烈建议使用。

往前多想一步

  • 在保证改造工作完成的前期下,如果有时间能够往前多想一步,考虑到这个业务的迁移有可能导致流量分配的迁移以及带来的影响,可以提前做好方案。
  • 备用的方案方案包括流量分配需要带来的机器扩容或者应用的拆分,其实改造只是第一步,后续带来的问题会引发一系列的问题同样值得深思。
目录
相关文章
|
6月前
|
人工智能 安全 算法
陶哲轩领衔62页报告重磅发布!
【5月更文挑战第19天】数学家陶哲轩领导的62页报告《Supercharging Research》探讨AI在科研中的作用,指出其在材料科学、气候研究等领域有巨大潜力,但也面临误导性输出、数据偏见和环境影响等问题。报告呼吁公平共享AI资源,建立负责任的AI使用原则,并提议国家人工智能研究资源(NAIRR)以推动可信AI发展。全球多国已投资AI战略,AI在医疗、能源等领域有望带来革命性变化。报告强调建立开放、安全的AI生态系统以解决全球挑战。
96 9
|
机器学习/深度学习 人工智能 达摩院
报告发布 | 达摩院最新发布:2022十大科技趋势来了!(附报告)
12月28日,阿里巴巴达摩院发布2022十大科技趋势,这是达摩院连续第四年发布前沿科技趋势预测。 达摩院分析了近三年来的770万篇公开论文、8.5万份专利,覆盖159个领域,深度访谈近100位科学家,提出了2022年可能照进现实的十大科技趋势,覆盖人工智能、芯片、计算和通信等领域。 哪10大科技趋势将占领2022年的科技头条,让我们先睹为快! 达摩院 12月28日,阿里巴巴达摩院发布2022十大科技趋势,这是达摩院连续第四年发布前沿科技趋势预测。 达摩院分析了近三年来的770万篇公开论文、8.5万份专利,覆盖159个领域,深度访谈近100位科学
467 0
|
供应链 安全 开发者
官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021(1)~
官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021~
160 0
官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021(1)~
|
人工智能 Rust Cloud Native
官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021(2)~
官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021~
377 0
官宣!2021中国开源年报震撼首发!一篇报告带你读懂中国开源的2021(2)~
|
BI 云栖大会 开发者
开放下载 | 阿里连续十年蝉联中国厂商开源活跃度NO.1,《中国开源十年洞察报告》发布
在峰会上,华东师范大学数据科学与工程学院研究员、X-lab 开放实验室创始人王伟发布了《中国开源十年洞察报告》,该报告使用 GitHub 开放的近十年开发者行为日志数据统计生成,从开源整体发展趋势、活跃开发者行为、开发者最爱的开发者语言、活跃开源项目、活跃厂商等多个维度系统展示了近十年中国开源的演进。
929 0
开放下载 | 阿里连续十年蝉联中国厂商开源活跃度NO.1,《中国开源十年洞察报告》发布
|
搜索推荐
CNNIC第36次调查报告发布,亮点频现
CNNIC第36次调查报告发布,亮点频现
121 0
|
开发者
Elasitcsearch中国开发者报告调研 | 获奖名单公布
为了深入了解 Elasticsearch 开发者群体的现状,2019年11月,Elastic社区、阿里云Elasticsearch技术团队和阿里云开发者社区三方联合发起了Elasticsearch开发者研活动。
2279 0
Elasitcsearch中国开发者报告调研 | 获奖名单公布
重磅!2018硬科技领袖企业100强榜单发布
榜单覆盖了包括人工智能、3R(AR VR MR)、物联网、生物医药、半导体和大数据智能硬件等领域在内的100家企业。
664 0
|
Web App开发 安全 物联网
W3C近期要闻:W3C重点报告发布,综述2018年发展路线图
「OpenWeb开发者」依托于BOW(Brillant Open Web)团队,是一个专门的 Web 技术建设小组,致力于推动 Open Web 技术的发展,将不定期为读者同步W3C要闻。
2319 0
下一篇
无影云桌面