我们总结了每个技术团队都会遇到的 4 个难题

阿里巴巴 2019 年实习生校园招聘已经启动,为此,我们整理了一篇《每个技术团队都会遇到的4个难题》,帮助即将从校园进入公司实习的后端程序员,以实践的视角,看看一个后端技术团队会遇到的一些难题。虽然,技术上的难题远不止于此,但如果能从这篇文章中获得一些职业体感,也许对你的实习面试会有所帮助。

参与“测测你的程序员属性”,有机会获得 Cherry 樱桃机械键盘、罗技鼠标等奖品。

- 正文开始 -

从单个应用到多个应用,从百千级别的访问流量到十万、百万级别,从两三个人的创业技术团队到上千人的技术团队矩阵,这些过程中,技术团队都避不开了以下 4 个问题:

  • 如何预测业务峰值时的容量
  • 如何提升业务的稳定性
  • 如何提高业务的监控能力
  • 如何提高开发效率

如何预测业务峰值时的容量

早期的做法是在开发测试环境进行压测,来评估线上容量,但线下环境的机器规模,和线上差距很大,很难通过线下推导线上。根据经验,将采购的机器加入不同的应用里面,这时候就会遇到一个问题: 最大业务峰值容量是多少?

_
这个问题,其实挺难回答的。这个应用多加几台,那个应用少加几台,整体的业务峰值承受能力就会不一样,加减的规则很难通过人的经验来确定,最多只能作为一些辅助判断。另外,核心交易链路的梳理,也是一个体力活,如果依赖人为处理,有可能会漏掉一些看起来不那么重要的”分支”,这是整个容量不确定的地方,可变的因子很多。

比较有效的方式, 是在生产系统部署全链路压测,来验证各个生产环节是否能经受住各类流量的访问,让真实的流量来访问生产环境,实现全方位的真实业务场景模拟,确保各个环节的性能、容量和稳定性均可做到万无一失。

如何提升业务的稳定性

日常的各种运营活动,都有可能带来巨大的流量高峰,除了通过引入全链路压测来验证各个生产环节是否能经受住各类流量的访问, 构建系统的高可用保障能力也很关键,涉及多个组件或模块,例如软负载和配置中心、服务接入和调度编排、消息接收和发送、容器和调度、限流和降级 等。


运营一次活动,最大的流量峰值是可以预测的,这就是服务的最大接待能力,比如50万笔的交易创建峰值,那超过的怎么办?这时候,采用限流的方式,被限流的客户在某一段时间内无法进行购物,一旦系统恢复服务能力,就可以继续服务被限流的客户,从而避免因流量超过上限,而影响整个平台的客户。

如何提高业务的监控能力

分布式应用系统在协作性,扩展性和一定的容错性方面,体现出了优势,但是在监控、运维和诊断层面,面临相当大的挑战。

_3

早期,架构师可以画出整个应用系统的交互架构图,随着业务的发展,当拥有大量的应用、微服务和容器,即便整理了一幅交互架构关系图,也会因为应用系统的变更,新需求的实现,整个应用系统的交互又会发生变化,这种变化无处不在,每天都在发生。因此,随着业务量的增加,需要覆盖面广且深的全链路跟踪监控系统 ,来诊断调用链的问题。

越是复杂的业务形态,定位的难度越大,就越需要全方位、360度无死角的监控,因此,建立一个平台化、跨领域和立体化的监控,能极大的缩短业务遇到问题时的恢复时间。

如何提高开发效率

开发效率是一个很广泛的话题。不同的开发岗位,不同的使用场景,会有不一样的开发效率工具。这里,我们介绍几款后端工程师经常会用到的效率工具。

_2

  • 云端部署效率工具:

Cloud Toolkit 是一款 IDE插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。借助这个工具,开发者能够方便地将本地应用一键部署到任意机器,或 ECS、EDAS、Kubernetes,并支持高效执行终端命令和 SQL 等。点此了解详情。

  • MacOS 搜索利器:

MacOS 自带的聚焦搜索(Spotlight),可以将文稿、邮件、应用等整合在一起,通过关键词匹配来进行搜索。Alfred 可以看作是Spotlight的增强版,是计算机依赖者的效率神器,支持添加自定义网络搜索引擎,指定规则精准定位本地文件,以及在命令框内使用计算器、词典等实用工具。

  • 画图效率工具:

系统架构图是为了抽象的表示软件系统的整体轮廓和各个组件之间的相互关系和约束边界,以及软件系统的物理部署和软件系统的演进方向的整体视图。通过架构图,可以让干系人理解、遵循架构决策,就需要把架构信息传递出去。架构图就是一个很好的载体,所谓一图胜千言。点此了解详情。

  • JSON 浏览效率插件

对于 JSON 的数据,如果不编排,格式查看起来会很费劲。JSON-handle 是一款对 JSON 格式的内容进行浏览和编辑,以树形图样式展现 JSON 文档的插件,支持实时编辑。

  • Java 代码规约扫描效率插件

这是一款 Java 代码规约扫描工具,旨在以工具的手段进行代码规约的落地,项目包含三部分:PMD规则实现、IntelliJ IDEA 插件、Eclipse 插件,帮助开发人员在工程研发的多个阶段进行代码规约检查, 降低故障率、提升编码效率和质量。点此了解详情。

当然,除了这些现成的效率工具,提升整个技术团队的开发效率,需要单独开发或改造一些系统,例如团队协作平台、服务化改造等,当你以实习生的身份加入公司后,若有机会参与到这些提升开发效率的项目过程中。由此形成的效率意识,将会影响到你今后的工作习惯和理念。

本文部分内容来源于阿里巴巴中间件资深产品专家丹臣的内部分享《阿里巴巴中间件上云实践》。阿里巴巴中间件的实习生招聘详情,请查看本期推文的第三篇。

互动

扫码参与


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么查看指定app日志_Linux系统查看系统信息和日志有哪些常用的命令

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言本文主要讲解Linux系统有哪些日志文件以及如果查看和分析这些日志文件。查看linux日志的方法2. Linux日志文件有哪些我们来看看L…

Git 切换提交历史节点

文章目录1. 命令版本2. idea图形化版本(推荐使用)1. 命令版本 git checkout 版本号注:适用于之前和之后 2. idea图形化版本(推荐使用) 未操作截图: 切换到第3次提交 切换到第2次提交 切换到第5次提交

阿里云RPA(机器人流程自动化)干货系列之三:阿里云RPA介绍

本文是阿里云RPA(机器人流程自动化)干货系列之三,详细介绍了阿里云RPA的产生背景、技术特点、功能特性、非功能指标以及发展现状等。 一、产生背景 在2011年,随着阿里巴巴集团的各项业务突飞猛进,集团内的各个部门都遇…

入局视频会议市场 揭秘“腾讯会议”背后的创新黑科技

戳蓝字“CSDN云计算”关注我们哦!作者 | 刘丹出品 | CSDN云计算(ID:CSDNcloud)曾经的你是否遇到过这样的窘境?出门在外巧遇紧急会议,手机接入模糊不清,挠头状……企业内部分支偏远,开…

阿里巴巴基于 Nacos 实现环境隔离的实践

随着Nacos 0.9版本的发布,Nacos 离正式生产版本(GA)又近了一步,其实已经有不少企业已经上了生产,例如虎牙直播。 本周三(今天),晚上 19:00~21:00 将会在 Nacos 钉钉群直播 Nacos 1.…

Git 版本对比 idea图形化版本

默认初始化5次提交 对比第4次提交和第5次提交的不同点&#xff1a; 依次双击文件即可&#xff0c;不同部分会标识出来&#xff0c;如下图所示&#xff1a; 这个图的意思是&#xff0c;第5次提交在第4次提交的基础上添加了一条<li>v5</li> 其他版本之间的对比…

点读笔客户端_新手妈妈如何选购点读笔

点读笔的起源现在的中国早教市场来说&#xff0c;点读笔受到很多家长的青睐。其实早在很久以前&#xff0c;点读笔已经风靡美国和欧洲。当时在美国&#xff0c;该产品称为电子书&#xff0c;原理是通过电子设备感应读出书中相应的内容。主要是给婴幼儿学习语言和锻炼阅读能力的…

在 Ali Kubernetes 系统中,我们这样实践混沌工程

在传统的软件测试中&#xff0c;我们通常通过一个给定的条件来判断系统的反馈&#xff0c;通过断言来判断是否符合预期&#xff0c;测试条件和结果通常比较明确和固定。而混沌工程&#xff0c;是通过注入一些“不确定”因素&#xff0c;象放进了一群淘气的猴子&#xff0c;在系…

解决idea一直updating index

是因为使用了电脑清理软件&#xff0c;可走以下流程解决问题&#xff0c; 点击【File 】-> 选择【invalidate Caches/Restart】 -> 点击【invalidate and Restart】&#xff0c;完美解决问题。

经过卖房创业与“云吞面”群聊,老季带着优刻得迎来了“开市大吉”……

CSDN记者晶少快报于上海证券交易所现场 今日&#xff0c;优刻得UCloud科技股份有限公司正式在科创板挂牌上市&#xff0c;股票简称优刻得&#xff0c;股票代码为688158。作为唯一一家没有“爸爸”的云计算服务商&#xff0c;2012年成立的优刻得UCloud&#xff0c;自创立近8年来…

天气模式_北方降雪骤减!南方开启湿冷模式多阴雨!|天气展望

刚刚过去的周末许多小伙伴期盼的雪花如愿到货白雪飘飘的冬日浪漫你感受到了吗→“初雪”刷屏&#xff1f;今天&#xff0c;来聊聊关于雪的那些事~然而在北方雪花纷飞的同时象象看到后台许多南方的粉丝感叹这雪与我无关只能穿着半袖开着空调吃着雪糕来感受下雪的氛围这不冷空气决…

Git bash 编码格式配置_02

文章目录1. 中文配置2. 基础编码3. 配置环境变量1. 中文配置 2. 基础编码 在git bash命令窗口总依次执行 git config --global i18n.commitencoding utf-8 #这个主要就是log输出的编码格式 git config --global i18n.logoutputencoding utf-8 git config --global gui.encodi…

AbutionGraph:构建以知识图谱为核心的下一代数据中台

作者 | 图特摩斯科技创始人闭雨哲来源 | AI科技大本营&#xff08;ID:rgznai100&#xff09;前言图特摩斯科技&#xff08;Thutmose&#xff09;基于自研的图形数据库AbutionGraph&#xff08;实时多维数据存储与计算一体化的高可用平台&#xff09;为核心&#xff0c;构建AI智…

Git 克隆远程项目到本地_01

git clone 远程项目ssh地址栗子&#xff1a; git clone gitgithub.com:gb-heima/yyblog.git

保证一致性吗_RabbitMQ消息一致性:重要消息,请设置持久化

在应用开发中&#xff0c;持久化也是经常被提起的&#xff0c;持久化就是存在在内存当中的数据&#xff0c;要写入到磁盘中&#xff0c;这样在内存中的数据由于各种原因丢失掉后&#xff0c;可以通过磁盘重新加载到内存中来&#xff0c;对于消息中间件&#xff0c;持久化也至关…

大厂HR年底绷不住了:怎么招程序员这么难,尤其搞这项技术的!!

力与力之间的作用一定是相互的。当我们感觉找工作难的时候&#xff0c;其实企业和HR也在每天崩溃&#xff1a;“怎么招程序员这么难&#xff1f;”以Python程序员为例&#xff0c;很多大牛都能拿到10&#xff5e;20万的年薪&#xff0c;但是很多企业却根本招不到人&#xff0c;…

国内RISC-V产学研基地成立,Intel、Arm、RISC-V将三分天下?

作者 | 伍杏玲来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;在IT界&#xff0c;CPU芯片和操作系统是网信领域最基础的核心技术。但在芯片领域&#xff0c;技术和资本的门槛较高&#xff0c;应用范围最广的指令集架构需获得专利授权才能使用&#xff0c;如x86、Ar…

git设置mergetool可视化工具

文章目录1. 下载并安装BeyondCompar2. 设置git配置3. 配置git mergetool3. 添加暂存区4. 将暂存区文件提交到版本库5. 原则1. 下载并安装BeyondCompar 2. 设置git配置 打开 git bash 3. 配置git mergetool 依次执行以下命令即可 git config --global merge.tool bc4 git …

盘点丨2019十大边缘计算项目

来源 | 边缘计算社区&#xff08;ID:edgewnet&#xff09;5G和物联网让边缘计算备受瞩目&#xff0c;巨头们纷纷跑步入场&#xff0c;边缘计算项目百花齐放&#xff0c;参差不齐。边缘计算社区经过1个月收集&#xff0c;梳理了10个2019年表现优异的边缘计算开源项目、边缘计算框…

Navicat for MySQL中如何新建用户并赋予权限

文章目录1. 激活2. 新建用户3. 赋予权限1. 激活 打开Navicat for MySQL软件&#xff0c;打开连接并激活数据库 2. 新建用户 点击新建用户&#xff0c;输入用户名&#xff0c;输入主机名&#xff0c;输入密码&#xff0c;确认密码。 3. 赋予权限 点击服务器权限对其赋予…