您的位置:永利国际官网登录 > 网络科技 > 阿里巴巴开发者工具不完全盘点,BAT程序员们常

阿里巴巴开发者工具不完全盘点,BAT程序员们常

发布时间:2019-07-24 07:14编辑:网络科技浏览(135)

    从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。

    从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。

    图片 1

    阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。

    阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。

    作者丨InfoQ编辑部

    图片 2

    由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能有得到的工具。每个工具按照以下几点进行介绍:

    工欲善其事必先利其器,一个优秀的程序员除了代码写得好,善于利用各种开发工具同样可以事半功倍。以 BAT 为代表的各大厂程序员们在平时的工作中都用什么开发工具呢?InfoQ 编辑部盘点了大厂内部常用的开发工具,以供读者参考。本文涉及工具大部分为开源项目,大家可以按需选用。

    由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。

    • 工具名称和简介
    • 使用场景
    • 使用教程
    • 获取方式

    阿里篇

    每个工具按照以下几点进行介绍:

    一、Java 线上诊断工具 Arthas

    Arthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。

    工具的使用场景:

    • 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
    • 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
    • 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
    • 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
    • 是否有一个全局视角来查看系统的运行状况?
    • 有什么办法可以监控到JVM的实时运行状态?

    Arthas支持JDK 6 ,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

    使用教程:

    基础教程:

    进阶教程:

    获取方式:

    开源地址:

    一、Java 线上诊断工具 Arthas

    工具名称和简介

    二、IDE 插件 Cloud Toolkit

    Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署到任意机器,并内置 Arthas 诊断、高效执行终端命令和 SQL 等。

    工具的使用场景:

    每次修改完代码后,是否正在经历反复地打包?在 Maven 、Git 以及其他运维脚本和工具的之间频繁切换?

    采用 SCP 工具上传?使用XShell或SecureCRT登陆服务器?替换部署包?重启?

    文件上传到服务器指定目录,在各种 FTP、SCP 工具之间频繁切换 ?

    使用教程:

    • IntelliJ IDEA 版:
    • Eclipse 版:
    • PyCharm 版:
    • Maven 版:

    获取方式:

    工具地址:

    Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具。

    使用场景

    三、混沌实验注入工具 ChaosBlade

    ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,提供了延迟、异常、返回特定值、修改参数值、重复调用和try-catch 块异常等异常场景。

    工具的使用场景:

    • 微服务的容错能力不易衡量?
    • 容器编排配置是否合理无法验证?
    • PaaS 层健壮性的测试工作无从入手?

    使用教程:

    获取方式:

    开源地址:

    使用场景:

    一、Java 线上诊断工具 Arthas

    四、Java 代码规约扫描插件

    该插件用于检测 Java 代码中存在的不规范的位置,并给予提示。规约插件是采用kotlin语言开发。

    使用教程:

    IDEA插件使用文档:

    Eclipse插件使用文档:

    获取方式:

    开源地址:

    这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

    Arthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。

    五、应用实时监控工具 ARMS

    ARMS 是一款 APM 类的监控工具,提供前端、应用、自定义监控 3 类监控选项,可快速构建实时的应用性能和业务监控能力。

    工具的使用场景:

    • 晚上10点收到37条报警信息,你却无从下手?
    • 当我们发现问题的时候,客户/业务方已经发起投诉?
    • 每个月花几十万买服务器,却无法保障用户体验?

    使用教程:

    前端监控接入:

    应用监控接入:

    自定义监控:

    获取方式:

    工具地址:

    我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

    工具的使用场景:

    六、静态开源站点搭建工具 Docsite

    Docsite 一款集官网、文档、博客和社区为一体的静态开源站点的解决方案,具有简单易上手、上手不撒手的特质,同时支持 react 和静态渲染、PC端和移动端、支持中英文国际化、SEO、markdown文档、全局站点搜索、站点风格自定义、页面自定义等功能。

    使用教程:

    获取方式:

    项目地址:

    遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

    这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

    七、Android 平台上的秒级编译方案 Freeline

    Freeline 可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。Freeline 最快捷的使用方法就是直接安装 Android Studio 插件。

    使用教程:

    获取方式:

    项目地址:

    线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

    我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

    八、性能测试工具 PTS

    PTS 可以模拟大量用户访问业务的场景,任务随时发起,免去搭建和维护成本,支持 JMeter 脚本转化为 PTS 压测,同样支持原生 JMeter 引擎进行压测。

    使用教程:

    获取方式:

    工具地址:

    是否有一个全局视角来查看系统的运行状况?

    遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

    九、云效开发者工具KT

    KT 可以简化在 Kubernetes 下进行联调测试的复杂度,提高基于Kubernetes的研发效率。

    使用教程:

    获取方式:

    工具地址:

    有什么办法可以监控到 JVM 的实时运行状态?

    线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

    十、架构可视化工具 AHAS

    AHAS 为 K8s 等容器环境提供了架构可视化的功能,同时,具有故障注入式高可用能力评测和一键流控降级等功能,可以快速低成本的提升应用可用性。

    工具的使用场景:

    • 服务化改造过程中,想精确的了解资源实例的构成和交互情况,实现架构的可视化?
    • 想引入真实的故障场景和演练模型?
    • 低门槛获得流控、降级功能?

    使用教程:

    获取方式:

    工具地址:

    Arthas 支持 JDK 6 ,支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

    是否有一个全局视角来查看系统的运行状况?

    使用教程:

    有什么办法可以监控到JVM的实时运行状态?

    基础教程:

    Arthas支持JDK 6 ,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

    二、IDE 插件 Cloud Toolkit

    进阶教程:

    Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署到任意机器,并内置 Arthas 诊断、高效执行终端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。

    工具的使用场景:

    开源地址:

    每次修改完代码后,是否正在经历反复地打包?

    在 Maven 、Git 以及其他运维脚本和工具的之间频繁切换?

    二、IDE 插件 Cloud Toolkit

    采用 SCP 工具上传?使用XShell或SecureCRT登陆服务器?替换部署包?重启?

    Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署到任意机器,并内置 Arthas 诊断、高效执行终端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。

    文件上传到服务器指定目录,在各种 FTP、SCP 工具之间频繁切换 ?

    使用场景:

    三、混沌实验注入工具 ChaosBlade

    每次修改完代码后,是否正在经历反复地打包?

    ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,提供了延迟、异常、返回特定值、修改参数值、重复调用和try-catch 块异常等异常场景。

    在 Maven 、Git 以及其他运维脚本和工具的之间频繁切换?

    工具的使用场景:

    采用 SCP 工具上传?使用 XShell 或 SecureCRT 登陆服务器?替换部署包?重启?

    微服务的容错能力不易衡量?

    文件上传到服务器指定目录,在各种 FTP、SCP 工具之间频繁切换 ?

    容器编排配置是否合理无法验证?

    使用教程:

    PaaS 层健壮性的测试工作无从入手?

    IntelliJ IDEA 版:

    四、Java 代码规约扫描插件

    该插件用于检测 Java 代码中存在的不规范的位置,并给予提示。规约插件是采用 Kotlin 语言开发。

    Eclipse 版:

    五、应用实时监控工具 ARMS

    ARMS 是一款 APM 类的监控工具,提供前端、应用、自定义监控 3 类监控选项,可快速构建实时的应用性能和业务监控能力。

    PyCharm 版:

    工具的使用场景:

    晚上10点收到37条报警信息,你却无从下手?

    Maven 版:

    当我们发现问题的时候,客户/业务方已经发起投诉?

    每个月花几十万买服务器,却无法保障用户体验?

    工具地址:

    六、静态开源站点搭建工具 Docsite

    Docsite 一款集官网、文档、博客和社区为一体的静态开源站点的解决方案,具有简单易上手、上手不撒手的特质,同时支持 react 和静态渲染、PC端和移动端、支持中英文国际化、SEO、markdown文档、全局站点搜索、站点风格自定义、页面自定义等功能。

    三、混沌实验注入工具 ChaosBlade

    七、Android 平台上的秒级编译方案 Freeline

    ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,提供了延迟、异常、返回特定值、修改参数值、重复调用和 try-catch 块异常等异常场景。

    Freeline 可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。Freeline 最快捷的使用方法就是直接安装 Android Studio 插件。

    使用场景:

    八、性能测试工具 PTS

    微服务的容错能力不易衡量?

    PTS 可以模拟大量用户访问业务的场景,任务随时发起,免去搭建和维护成本,支持 JMeter 脚本转化为 PTS 压测,同样支持原生 JMeter 引擎进行压测。

    容器编排配置是否合理无法验证?

    九、云效开发者工具K

    PaaS 层健壮性的测试工作无从入手?

    KT 可以简化在 Kubernetes 下进行联调测试的复杂度,提高基于Kubernetes的研发效率。

    使用教程:

    十、架构可视化工具 AHAS

    新手指南

    AHAS 为 K8s 等容器环境提供了架构可视化的功能,同时,具有故障注入式高可用能力评测和一键流控降级等功能,可以快速低成本的提升应用可用性。

    开源地址:

    工具的使用场景:

    新手指南

    服务化改造过程中,想精确的了解资源实例的构成和交互情况,实现架构的可视化?

    四、Java 代码规约扫描插件

    想引入真实的故障场景和演练模型?

    该插件用于检测 Java 代码中存在的不规范的位置,并给予提示。规约插件是采用 Kotlin 语言开发。

    低门槛获得流控、降级功能?

    使用教程:

    十一、数据处理工具 EasyExcel

    IDEA 插件使用文档:

    EasyExcel 是一个用来对 Java 进行解析、生成Excel 的框架,它重写了 poi 对07版 Excel 的解析,原本一个3M的 Excel 用POI sax需要100M左右内存,EasyExcel可降低到 KB 级别,并且再大的excel也不会出现内存溢出的情况。03版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便。

    插件使用文档

    十二、iOS 类工具 HandyJSON

    Eclipse 插件使用文档:

    HandyJSON 是一个用于 Swift 语言中的JSON序列化/反序列化库。与其他流行的Swift JSON库相比,HandyJSON 的特点是,它支持纯 Swift 类,使用也简单。它反序列化时(把 JSON 转换为Model)不要求 Model从 NSObject 继承(因为它不是基于 KVC 机制),也不要求你为 Model 定义一个 Mapping 函数。只要你定义好 Model 类,声明它服从 HandyJSON 协议,HandyJSON 就能自行以各个属性的属性名为Key,从JSON串中解析值。

    插件使用文档

    十三、云上资源和应用部署工具 EDAS Serverless

    开源地址:

    EDAS Serverless 一款基于 Kubernetes,面向应用和微服务的 Serverless 平台。用户无需管理和维护集群与服务器,即可通过镜像、WAR 包和JAR 包,快速创建原生支持 Kubernetes 的容器应用,同时支持 Spring Cloud 和 Dubbo 等主流微服务框架。

    十四、数据库连接池 Druid

    五、解决 Kubernetes 上应用自动化问题工具 OpenKruise

    Druid 是 Java 语言下的数据库连接池,它能够提供强大的监控和扩展功能。

    Kruise 的核心是自动化,从不同维度解决 Kubernetes 之上应用的自动化问题,包括部署,升级,弹性扩缩容,Qos 调节,健康检查,迁移修复等。此次,Kruise 开源的内容主要在应用部署,升级方面,即一套增强版 controller 组件用于应用的部署和级和运维。后续,Kruise 会依次开源智能化的弹性扩缩容组件,以及应用 Qos 自调节能力的组件等。

    十五、Java 工具集 Dragonwell

    开源地址:

    Alibaba Dragonwell 是阿里巴巴内部OpenJDK定制版AJDK的开源版本, AJDK为在线电商,金融,物流做了结合业务场景的优化,运行在超大规模的,100,000 服务器的阿里巴巴数据中心。Alibaba Dragonwell与Java SE标准兼容,目前仅支持 Linux/x86_64平台。

    六、静态开源站点搭建工具 Docsite

    Docsite 是一款集官网、文档、博客和社区为一体的静态开源站点的解决方案,具有简单易上手、上手不撒手的特质,同时支持 react 和静态渲染、PC 端和移动端、支持中英文国际化、SEO、markdown 文档、全局站点搜索、站点风格自定义、页面自定义等功能。

    使用教程:

    开源地址:

    七、Android 平台上的秒级编译方案 Freeline

    Freeline 可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。Freeline 最快捷的使用方法就是直接安装 Android Studio 插件。

    使用教程:

    开源地址:

    八、架构可视化工具 AHAS

    AHAS 为 K8s 等容器环境提供了架构可视化的功能,同时,具有故障注入式高可用能力评测和一键流控降级等功能,可以快速低成本的提升应用可用性。

    使用场景:

    服务化改造过程中,想精确的了解资源实例的构成和交互情况,实现架构的可视化?

    想引入真实的故障场景和演练模型?

    低门槛获得流控、降级功能?

    使用教程:

    工具地址:

    九、数据处理工具 EasyExcel

    EasyExcel 是一个用来对 Java 进行解析、生成 Excel 的框架,它重写了 poi 对 07 版 Excel 的解析,原本一个 3M 的 Excel 用 POI sax 需要 100M 左右内存,EasyExcel 可降低到 KB 级别,并且再大的 excel 也不会出现内存溢出的情况。03 版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便。

    使用教程:

    本文由永利国际官网登录发布于网络科技,转载请注明出处:阿里巴巴开发者工具不完全盘点,BAT程序员们常

    关键词: 永利国际官网