热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

收藏!2022年开发运维必备的10款顶级工具

工欲善其事必先利其器,作为互联网软件从业者,一款好用的工具往往能极大的方便我们解决问题。下面我给大家盘点2022年开发运维必备的10款顶级工具




工欲善其事必先利其器,作为互联网软件从业者,一款好用的工具往往能极大的方便我们解决问题。

下面我给大家盘点2022年开发运维必备的10款顶级工具,绝对能让你的工作效率事半功倍。


1、文件存储工具-COS

假设这样一种场景:



基于电商项目,往往会有很多图片交互,比如海量的商品图片,卖家和买家的聊天图片,用户个人信息图片等等


假如你作为公司电商项目技术负责人,你会如何去实现图片交互逻辑呢?


1.1、菜鸟版实现-本机存储

我们先看下菜鸟小A的实现:

如上图所示,我们在服务内部实现好文件上传的代码,然后上传的文件直接存储到我们服务内部。

这听上去很美好,实现也很简单,但是存在很多问题:

①、单点问题:图片都是存在服务器内部,如果是分布式服务,也就是浏览器将图片上传到A服务器,但是某用户访问是从B服务器发起的,这时候如何访问?

另外,如果一个服务器发生故障,那该服务器存储的图片不就无法访问了?

②、流量问题:文件上传往往需要比较大的带宽,随着图片的上传访问增多,如果我们不扩大带宽,就会影响到其它正常操作。


1.2、进阶版实现-自建服务器

基于菜鸟版实现存在的问题,工作两年的小B升级了一下处理方式:

原来图片是存储在服务器本身,现在我们自己搭建了一个图片服务器。

浏览器发现图片上传请求,经过我们的电商服务,然后服务将图片存储到我们的图片服务器。

这样我们解决了上面的单点问题,但是又引进了新的问题:自己搭建一个图片服务器,服务器成本是比较高的,而且搭建复杂,另外,我们引进了一个新的系统,那么也需要专人去维护这个图片服务器。


1.3、大神版实现-腾讯云COS

老板看到高昂的服务器费用,眉头一皱。

公司大神小C微微一笑,给出了新的方案:

我们将自建的图片服务器换成腾讯云对象存储 COS



什么是 腾讯云对象存储 COS:


腾讯云对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。


而且 COS 提供了直观的 Web 管理界面,通过控制台、API、SDK 和工具等多样化方式简单、快速地接入,实现了海量数据存储和管理。通过 COS 可以进行任意格式文件的上传、下载和管理。


回到我们项目,使用 腾讯云 COS(Cloud Object Storage) 有如下几个好处:

①、高可靠:COS 一般都是副本冗余的,能够保证图片访问的高可用性。

②、低成本:前期无需大量投入,能够按需计费,所以接入前期流量不大的话,费用也比较低。

③、易扩展:对象存储,存储空间无上限限制,当后期图片存储增多,也无需担心扩容问题。

④、存储下载加速:依托服务提供商的加速能力,遍布全国范围的 CDN 节点可以对文件下载进行加速。



腾讯云COS官网文档:https://cloud.tencent.com/document/product/436


Java SDK 接入案例:https://cloud.tencent.com/document/product/436/10199


PS:COS 用作图床工具也是很好用的,常用的 Typora+PicGo+COS,这一套是自媒体写作神器搭配,再也不用担心图床失效,或者图片加载慢了,用过的人都说爽。


2、接口测试工具-Postman



官网:https://www.postman.com/


存在这样一种场景:



大家知道,作为一个后端开发,在项目开发过程中,会经常写各种接口,写完之后,怎么判断我们写的接口是否是正确的呢?


这时候我们迫切需要一款接口测试工具,那么 Postman 能够满足你的需求。

我们看下 Postman 的操作界面:

它具有如下特点:

①、简单易用的图形用户界面,安装后即可进行测试。

②、可以保存接口请求的历史记录,这样方便我们查看之前的测试记录。

③、可以在团队之间同步接口数据,在公司团队之间合作时显得尤为重要。


3、接口压测工具-Jmeter

存在这样一种场景:



老板:小A啊,你这个接口性能咋样?最大能够满足多少人同时操作(并发多大)?耗时多久?


小A:???


对接口性能进行测试,应该是项目每次上线必须要进行的,上面我们可以通过 Postman 对接口进行测试是否正确,那么怎么对接口进行性能测试呢?

答案就是用:Jmeter。



官网:https://jmeter.apache.org/


Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器等。

操作简单,还能输出各种测试报告,后面老板要你测试性能,就可以直接用 Jmeter 这里的输出报告交差了。


4、全能终端工具-MobaXterm

现今软件市场上有很多终端工具,比如:xshell、secureCRT、Putty、telnet等等。

但要说最好用的一款终端工具,那非 MobaXterm 莫属了,我用上它之后,彻底抛弃了其它的终端工具。



官网:https://mobaxterm.mobatek.net/


具有如下优点:

①、功能十分强大,其中内嵌 SFTP 模块,可以很方便进行文件上传下载,并且支持拖拽;

②、自带监控功能,可以很方便检测远程机器资源使用情况;

③、支持标签,切换也十分方便,且支持窗口垂直分屏、水平分屏、四象限分屏;

④、有丰富的插件,可以进一步增强功能。


5、服务部署工具-Docker



运维:小A,你这写的这个项目部署有问题,你看看吧。


小A:怎么可能,我本地都是运行的好好的,肯定是你弄错了。



这种扯皮争吵的事,相信大家都经历过,本地运行是好的,一上线部署就有问题,那么有没有办法项目可以带环境安装?

也就是部署的时候,可以把原始环境一起打包复制过来。

于是 Docker 登场了。



官网:https://www.docker.com/


使用 Docker 如有如下优点:

①、部署快,开发测试更加敏捷

通过Docker 打包镜像发布测试,一键运行。

②、快速扩缩机器

由于Docker容器快速启动特性,可以很快速的启动几十个、上百个容器来提供更多并发和资源利用率。

③、提高系统利用率,降低硬件成本

轻量级的虚拟机,更省资源。

④、跨环境可移植

⑤、更好的支持微服务

一个容器一个服务,容器之间相互隔离,和微服务正好遥相呼应。

⑥、应用运维标准化,支持不同语言应用

⑦、避免云厂商锁定


6、服务管理工具-Kubernetes

前面我们通过 Docker 来进行服务部署,那么当今微服务时代,会有很多这种服务,我们如何管理呢?

答案就是:Kubernetes



官网:https://kubernetes.io/


在生产环境中,我们需要保证服务不会停机,或者服务停机了能够马上自启,能够监控服务运行状态,甚至服务的负载均衡等等,这些 Kubernetes 都可以帮我们做到。


  • 服务发现和负载均衡

    Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大, Kubernetes 可以负载均衡并分配网络流量,从而使部署稳定。

  • 存储编排

    Kubernetes 允许你自动挂载你选择的存储系统,例如本地存储、公共云提供商等。

  • 自动部署和回滚

    你可以使用 Kubernetes 描述已部署容器的所需状态,它可以以受控的速率将实际状态 更改为期望状态。例如,你可以自动化 Kubernetes 来为你的部署创建新容器, 删除现有容器并将它们的所有资源用于新容器。

  • 自动完成装箱计算

    Kubernetes 允许你指定每个容器所需 CPU 和内存(RAM)。 当容器指定了资源请求时,Kubernetes 可以做出更好的决策来管理容器的资源。

  • 自我修复

    Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的 运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。

  • 密钥与配置管理

    Kubernetes 允许你存储和管理敏感信息,例如密码、OAuth 令牌和 ssh 密钥。 你可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,类似热部署,也无需在堆栈配置中暴露密钥。


7、服务监控工具-Prometheus

通过 Docker 部署了很多服务,通过 Kubernetes 对这些服务进行管理编排。那么怎么去实时监控这些服务的运行状况呢?

Prometheus是一个开源的系统监控和报警系统,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

具有如下特点:

①、支持多维度数据模型;

②、灵活的查询语言(PromQL):可以对采集的metrics指标进行加法,乘法,连接等操作;

③、可以直接在本地部署,不依赖其他分布式存储;

④、可以通过中间网关pushgateway的方式把时间序列数据推送到prometheus server端;

⑤、可通过服务发现或者静态配置来发现目标服务对象(targets)。

⑥、有多种可视化图像界面,如Grafana等。



https://github.com/prometheus/prometheus



8、持续集成工具-Jenkins

我们在项目开发迭代中,首先会把代码提交到代码仓库,然后运行单元测试、代码规范检查,然后进行部署等等。

如果这里每一步都需要我们手动去操作,肯定比较费劲,那么 Jenkins 可以帮助我们。

通过提前设计好的 Jenkins 构建策略等,可以实现一键测试、部署等等。

开发人员所要做的就是提交代码至仓库,其余的工作都可以交给 Jenkins 完成。



官网:https://www.jenkins.io/



9、研发管理工具-PingCode

PingCode 是简单易用的新一代研发管理平台,让研发管理自动化、数据化、智能化,帮助企业提升研发效能的一款工具。



官网:https://pingcode.com/



10、在线协作工具-腾讯文档

传统的文档工具,包括 WPS ,微软的 office 软件等,都只能支持本地文件操作。

假设我们在公司电脑创建一个文档,然后回家了想修改,电脑又没带,那该怎么办?

另外可能需要多人头脑风暴,对同一个文档进行操作,别人能马上看到他人的修改,那又该怎么办?

答案就是用在线协同文档。

当前市面上有很多在线协同工具,比如石墨文档,飞书文档,还有腾讯文档,功能大体上都差不多,但是如果我们用微信比较多的话,微信是能够直接操作腾讯文档分享的文件,很方便我们进行编辑。



官网:https://docs.qq.com



11、总结

好用的工具有很多,以上我能够盘点出来的 10 个工具,是认为能对大家日常工作中最有帮助的。

2022年已经过去了大半,不管它是好是坏,都是你我共同经历的人生。

未来,我不知道将去何方,但是我已在路上。







推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • TiDB | TiDB在5A级物流企业核心系统的应用与实践
    TiDB在5A级物流企业核心系统的应用与实践前言一、业务背景科捷物流概况神州金库简介二、现状与挑战神州金库现有技术体系业务挑战应对方案三、TiDB解决方案测试迁移收益问题四、说在最 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何方便地退订邮件列表,避免混乱和烦恼
    本文介绍了如何方便地退订邮件列表,避免混乱和烦恼。文章指出,退订邮件列表可能会造成混乱,特别是当被意外添加到列表中时。为了快速、轻松地取消订阅,建议不要将退订电子邮件发送到用于发布消息的电子邮件地址。文章还介绍了邮件列表由邮件列表软件控制,作为邮件列表成员,可以对该软件进行一些用户控制。一些邮件列表允许使用自动电子邮件地址退订,但这可能会带来一些混乱。最后,文章提到退订邮件列表需要向电子邮件服务器发送特殊命令来脱离列表。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 微信商户扫码支付 java开发 [从零开发]
    这个教程可以用作了解扫码支付的整体运行过程,已经实现了前端扫码,记录订单,回调等一套完整的微信扫码支付。相关链接:微信支 ... [详细]
author-avatar
与天使有染的救赎_164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有