我们总结了4个每个技术开发团队都会遇到的问题技术团队会遇到的一些困难。虽然技术上的难点远不止于此,但如果你能从本文中获得一些专业经验,或许对你的实习面试有所帮助。从单个应用到多个应用,从几十万访问流量到几十万不同品类,从两三个人的创业技术团队到几千人的技术团队矩阵,在这些过程中,技术团队无法避免提出了以下四个问题:如何预测业务高峰期的容量,如何提高业务的稳定性,如何提高业务的监控能力,如何提高开发效率,如何预测业务高峰期的容量。评估线上能力,但线下环境的机器规模与线上环境相差很大,很难通过线下将线推上线。根据经验,当你将购买的机器添加到不同的应用中时,你会遇到一个问题:***业务的峰值容量是多少?这个问题其实挺难回答的。为该应用程序添加更多单元和为该应用程序添加更少单元将导致不同的峰值服务容量。加减法的规则很难通过人的经验来确定,充其量只能作为辅助判断。此外,梳理核心交易环节也是一项人工工作。如果依赖人工处理,可能会漏掉一些看似无关紧要的“分支”。这就是整个容量不确定的地方,有很多可变因素。更有效的方式是在生产系统部署全链路压测,验证每个生产链路是否能够承受各类流量的接入,让真实流量接入生产环境,实现对真实业务场景的全方位模拟,并确保各环节的性能、容量和稳定性能够万无一失。如何提高业务稳定性日常的各种运营活动都可能带来巨大的流量高峰。除了引入全链路压测,验证每个生产环节是否能够承受各类流量访问,构建高水平的系统可用保障能力也很关键,涉及多个组件或模块,如软负载、配置中心等,服务接入与调度编排、消息接收与发送、容器与调度、限流与降级等。运行一个事件时,最大流量峰值是可以预测的,也就是服务的最大接收能力。比如50万笔交易创造了一个峰值,超过了怎么办?此时采用限流方式,限流客户在一定时间内不能购物。系统恢复服务能力后,可以继续为限流客户服务,避免因流量超过上限影响整个平台。的客户。如何提升业务监控能力分布式应用系统在协同性、可扩展性、一定的容错性等方面展现出优势,但在监控、运维、诊断等方面面临着不小的挑战。在早期,架构师可以画出整个应用系统的交互架构图。随着业务的发展,当有大量的应用、微服务和容器时,即使编了一张交互架构关系图,仍然会因为应用系统的变化而改变。随着新需求的实现,整个应用系统的交互方式又会发生变化。这种变化无处不在,每天都在发生。因此,随着业务量的增加,需要一个广度和深度的全链路跟踪监控系统来诊断调用链的问题。业务形态越复杂,越难定位,越需要全方位、360度、无死角的监控。因此,建立平台化、跨域、立体化的监控,可以大大缩短业务体验。问题的恢复时间。如何提高开发效率开发效率是一个很宽泛的话题。不同的开发岗位,不同的使用场景,会有不同的开发效率工具。在这里,我们介绍几个后端工程师经常使用的效率工具。CloudDeploymentEfficiencyTool:CloudToolkit是一款IDE插件,可以帮助开发者更高效地开发、测试、诊断和部署应用程序。通过该工具,开发者可以轻松地将本地应用一键部署到任意一台机器上,或者ECS、EDAS、Kubernetes,支持高效执行终端命令和SQL等,详情点此查看。MacOS搜索工具:MacOS自带Spotlight,可以整合文档、邮件、应用程序等,通过关键词匹配进行搜索。Alfred可以看作是Spotlight的加强版。是电脑依赖者的效率神器。支持添加自定义网页搜索引擎,指定规则精确定位本地文件,在命令框中使用计算器、词典等实用工具。绘图效率工具:系统架构图是抽象表示软件系统的总体轮廓、各组件之间的相互关系和约束边界,以及软件系统物理部署和软件演化方向的整体视图系统。通过架构图,利益相关者可以理解和遵循架构决策,架构信息需要传递。架构图是一个很好的载体,正所谓图胜千言。单击此处了解详情。JSON浏览效率插件对于JSON数据,如果不进行整理,格式会非常难以查看。JSON-handle是一个浏览和编辑JSON格式内容的插件,以树状图的方式展示JSON文档,支持实时编辑。Java代码协议扫描效率插件这是一款Java代码协议扫描工具,旨在通过工具的方式实现代码协议。项目由PMD规则实现、IntelliJIDEA插件、Eclipse插件三部分组成,帮助开发者在工程研发中多阶段进行代码规范检查,降低故障率,提高编码效率和质量。单击此处了解详情。当然,除了这些现成的效率工具,要提高整个技术团队的开发效率,还需要自主开发或改造一些系统,比如团队协作平台、服务改造等。当你加入公司时作为实习生,如果有机会参与到这些项目的过程中,可以提高开发效率。由此产生的效率意识会影响你以后的工作习惯和观念。
