互联网是如何把“原始人”逼成“机器人”(1)

简介: 互联网是如何把“原始人”逼成“机器人”(1)

导读互联网快速发展的这十多年,我们见证了企业软件架构的多次迭代和演变。初期阶段都使用JSP+Servlet,工程师感觉代码直接写在jsp页面上不优雅,也不方便调试。后续发展为JSP+Javabean,把业务代码封装到JavaBean里面,页面之间的跳转通过JSP来完成,有了真正意义上的代码逻辑封装。虽然架构简单,但是技术栈简单上手非常容易,虽原始但是很快乐,不脱发,也没有996Struts的出现解决了所有的逻辑都在代码中跳转的弊端,通过配置化来解决跳转和代码的耦合。但人都是惰性动物,配置的地方太多了也感觉太麻烦,Spring提倡减少配置或者不配置来让代码更快捷的运行,最终Spring接管了软件开发工程师的技术栈,同时单体应用的时代也有了一个飞跃的进步,我们进入了现代人的社会。

 

我们也是一个创业型公司,在创业阶段快乐的使用着Spring所提供的全家桶和便利性,随着业务规模和需求迭代频率的增加,单体应用也从原来的“美男子”变成“中年油腻大叔”反应迟钝了,也抗不住压力了,快也快不了,各种问题随之而来。


一、业务规模以及面临问题


流量为王、用户为王的互联网时代,随着投放广告力度的增大,以及私域流量的爆发,用户量也带来了爆炸式的增长。整个结束团队在“痛”并“快乐”的环境下一次又一次的交付着迭代。痛是因为现有的架构模式满足不了业务的需求,快乐是因为业务发展的好,大家的收益会更好。 


image.png


随着研发队伍的壮大,项目以及迭代需求的增加,技术架构出现多种问题,这些问题极大的影响了交付速度和交付质量。主要包括如下:


代码冲突加剧:多个人或者一个团队一起维护一个模块,共同开发。当提交代码的时候发现大量冲突,每次提测或者发版的时候需要花大量的时间来解决冲突。随着团队规模的增大以及项目复杂程度增加,代码冲突的现象越严重;


模块耦合严重:模块之间通过接口或者DB相互依赖,耦合越来越严重。而且不同的人,写代码的风格不一样,代码质量也不一样,上线前需要协调多个团队,任何小模块的异常都会导致整个项目发布失败;


项目质量下降:由于所有的代码都是在一个服务里面,做一次改动,可能会牵一发而动全身,代码冲突以及耦合严重,导致测试覆盖范围不充分,经常会出现没有更改的模块在线上突然出现问题,查询后发现是由于工程师不小心做了某种改动,但是测试用例并没有覆盖;


团队效率下降:由于大量时间在处理代码冲突,消耗了研发人员大量的时间;而测试人员为了提高项目质量,不得不在每次发版之前做全方位的回归测试,本身一次小的迭代结果项目时间却很长;


性能达到瓶颈:QPS以及达到天花板,增加硬件配置都没有办法来提升性能,导致运营同学不敢大规模的做活动,因为一旦用户量上升就会导致接口访问超时或者数据库CPU飙升到100%


运维手段乏力:当线上出现问题的时候,只能通过重启的方式来暂时缓解问题。


image.png


所以我们意识到系统架构必须要改变了,单体应用肯定不能满足当前以及后续业务的发展了,否则会被认定技术阻碍业务的发展,这种情况是大忌,有可能会被抓出去“祭天”的。但是在技术部门上方悬浮的标语“架构方案千万条,按时上线第一条”也提示着大家业务在发展,不会因为技术架构的变动而暂停前进。


二、平台架构演变过程

微服务的首要阶段是框架选型,在Spring CloudDubbo的选型上团队中间出现了很多争论,经过多维度的考核最终选定Dubbo做微服务的框架。由于时间紧迫,团队一边做着需求迭代以及新功能上线,一边还得做新架构开发。然而,在大家辛苦半个月后第一个版本交付测试的时候却出现了问题,每个人负责的模块的代码风格不统一,框架结构不统一,其他人如果想参与到对应的模块却不清楚从哪里入手,培训成本过高,所以我们必须得造轮子,让车子跑到更快,更稳。


image.png


讨论最后一致认定,如果依赖制度和文档是不可能约束研发人员的,必须提供工具来快速的生成框架结构以及代码逻辑,完成常用的数据库以及缓存操作,程序员只需要往对应的伪代码中加入业务代码即可。本地测试通过提交Jenkins后自动编译,服务自动注册、自动发布Dubbo服务。同时,团队内部约定了新框架的调用流程,避免不规范的行为再次发生。

相关文章
|
6月前
|
机器学习/深度学习 人工智能 自动驾驶
移动能源互联网创新论坛成功举办 蚕丛机器人闪耀问世
蚕丛机器人创始人、CEO唐锐宣布纵目科技全新子公司——蚕丛机器人正式问世,并正式推出其重磅新产品——FlashBot闪电宝。这充分展示了纵目科技突破自我、不断追求从0到1创新的破局精神和自我革新能力,以硬核科技产品彰显了其业内领先的强大研发创新实力,标志着纵目科技全新的自动驾驶和能源机器人双轮驱动战略正式全面启航。与此同时,蚕丛机器人与电管家集团签订了长期战略合作协议,并与法国恒通集团、法国光芒公司分别线上签订了战略合作意向书,展示了其强大的吸引力和巨大的商业前景。
|
存储 人工智能 运维
互联网企业助力北京冬奥会:阿里云后端保障,百度AI抢镜,猎豹机器人火到外网……
互联网企业助力北京冬奥会:阿里云后端保障,百度AI抢镜,猎豹机器人火到外网……
485 0
互联网企业助力北京冬奥会:阿里云后端保障,百度AI抢镜,猎豹机器人火到外网……
|
消息中间件 存储 缓存
互联网是如何把“原始人”逼成“机器人”(3)
互联网是如何把“原始人”逼成“机器人”(3)
128 0
互联网是如何把“原始人”逼成“机器人”(3)
|
机器人 数据库
互联网是如何把“原始人”逼成“机器人”(2)
互联网是如何把“原始人”逼成“机器人”(2)
131 0
互联网是如何把“原始人”逼成“机器人”(2)
|
人工智能 机器人 vr&ar
消失的中国互联网元老陈天桥:为神经科学捐助10亿,不担心机器人崛起
即使你没听说过“盛大游戏”,也一定听说过“传奇”。把风靡一时的网游“传奇”引入中国的陈天桥,是国内网游界当之无愧的元老,马化腾也表示曾将他作为学习的对象。
1140 0
|
6月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
136 3
|
8天前
|
机器学习/深度学习 传感器 算法
智能机器人在工业自动化中的应用与前景###
本文探讨了智能机器人在工业自动化领域的最新应用,包括其在制造业中的集成、操作灵活性和成本效益等方面的优势。通过分析当前技术趋势和案例研究,预测了智能机器人未来的发展方向及其对工业生产模式的潜在影响。 ###
38 9
|
5天前
|
机器人 人机交互 语音技术
智能电销机器人源码部署安装好后怎么运行
销售打电销,其中90%电销都是无效的,都是不接,不要等被浪费了这些的精力,都属于忙于筛选意向客户,大量的人工时间都耗费在此了。那么,有这种新型的科技产品,能为你替代这些基本的工作,能为你提升10倍的电销效果。人们都在关心智能语音客服机器人如何高效率工作的问题,今天就为大家简单的介绍下:1、智能筛选系统:电销机器人目前已经达到一个真人式的专家级的销售沟通水平,可以跟客户沟通,筛选意向,记录语音和文字通话记录,快速帮助电销企业筛选意向客户,大大的节约了筛选时间成本和人工成本。2、高速运转:在工作效率上,人工电销员,肯定跟不上智能语音机器人,机器人自动拨出电话,跟客户交谈。电话机
76 0
|
1月前
|
人工智能 搜索推荐 机器人
挑战未来职场:亲手打造你的AI面试官——基于Agents的模拟面试机器人究竟有多智能?
【10月更文挑战第7天】基于Agent技术,本项目构建了一个AI模拟面试机器人,旨在帮助求职者提升面试表现。通过Python、LangChain和Hugging Face的transformers库,实现了自动提问、即时反馈等功能,提供灵活、个性化的模拟面试体验。相比传统方法,AI模拟面试机器人不受时间和地点限制,能够实时提供反馈,帮助求职者更好地准备面试。
53 2