阿里开发者工具盘点:用它!让开发事半功倍

简介:

阿里妹导读:工欲善其事,必先利其器。从人工到自动化,从重复到创新,信息技术不断演进,开发者工具也在发展。开发效率低下往往是忽略了工具的使用,正确地使用开发者工具,可以让开发效率获得倍速提升。
阿里巴巴将自身在业务场景下的技术沉淀,通过开源、云上实现或工具等形式对外开放,今天阿里妹就对阿里巴巴内部沉淀下来的开发者工具和资源做了一轮盘点,希望能帮助开发者们提高开发效率、更优雅地写代码。

一、镜像站

稳定高速种类全

镜像站对开中国开发者来说可谓必备利器,受国际网络出口带宽的影响,大多数开源软件官网的速度慢,稳定性不足。作为国内最富盛名的镜像站之一,阿里巴巴镜像站利用其在云服务上的优势,提供快速、稳定的镜像分发服务。目前主要包括OPSX,NPM(NodeJS),composer(PHP)和goproxy。

镜像内容方面,以OPSX为例,目前已覆盖了主流操作系统 CentOS,Ubuntu,Fedora,Gentoo,Debian,FreeBSD和对做 docker 镜像帮助很大的Alpine。

编程语言覆盖了Python,Ruby,Perl,R。

软件方面除了 Apache 下的所有知名软件 Hadoop,Hive,Cassdra,Spark 都有覆盖,还包括 docker,zabbix,ceph,mongodb,mariadb 也都有,基本上主流软件更新都可以在这个镜像站搞定。如果你对镜像有需求,阿里妹墙裂推荐哦。

二、开源工具

助力开发,全面实用

★ Alibaba Dragonwell

Alibaba Dragonwell 是阿里巴巴内部 OpenJDK定制版 AJDK 的开源版本, AJDK 为在线电商,金融,物流做了结合业务场景的优化,运行在超大规模的,100,000+ 服务器的阿里巴巴数据中心。Alibaba Dragonwell 与 Java SE标准兼容,目前提供JDK8和11两个长期支持(LTS)版。

2019年6月我们发布了Dragonwell8的正式版,您可以通过简单的两步安装Dragonwell8产品:在阿里云开发者社区工具平台-开源工具找到Alibaba Dragonwell的链接,点击进入github地址后选择下载。

你也可以通过阿里云yum源或者Dragonwell8 Docker镜像来使用,详情请参考:Dragonwell8Wiki:https://github.com/alibaba/dragonwell8/wiki

Alibaba Dragonwell8 提供了两个在阿里巴巴的生产环境中进行过广泛验证的特性:JWarmUp 和 JavaFlight Recorder。

JWarmUp 的原理如下图所示:

一个典型的应用场景是当应用需要发布新版本的时候:

  • 首先 JWarmUp 在 Beta 环境(或者有着和生产环境类似流量的其他场景)的单台机器上短时间执行 Java 应用,并记录、收集这段时间里面 JIT 编译器所做动作的一些元数据。
  • 然后,会把这些元数据复制到生产环境的每一台包含了新版本代码的机器/容器里面。
  • 最后,在生产环境机器中通过 JWarmUp 参数加载 beta 环境生成的元数据,来指导生产环境的机器在启动应用的过程中就完成 JIT 预热。

这样当用户请求进入的时候,应用就会处于性能最高的峰值状态。

JFR(Java Flight Recorder)是JVM 内置的基于事件的性能分析特性,这是 Oracle JDK7u4 版本开始提供的商业特性,2018 年的时候在 JDK11 上开源了这个特性,但是一直没有针对 JDK8 版本的支持。

阿里巴巴和 RedHat、Azul、Amazon 等公司一起合作尝试把这个特性移植回 JDK8上,不过该 patch 暂时还没有合并回 OpenJDK8u仓库,我们在 Alibaba Dragonwell 8 中提供了 Alibaba 移植的 JFR 版本,用于帮助用户提前获取这方面的支持。

JFR 的用法很简单,用户使用命令行参数或者 jcmd 命令控制 HotSpot 输出性能数据到文件中,然后就能使用开源的 jmc 工具在图形界面中打开、分析生成的数据文件了。

2019年12月,阿里巴巴开源了Dragonwell 11项目并发布了11.0.5.1-preview版本,基于最新的LTS版OpenJDK11,提供了JFR Object Profiling特性并默认支持了ZGC策略,希望可以帮助用户享受最新的Java技术红利。

★  Arthas

阿里巴巴2018年9月开源的Java线上诊断工具,它采用命令行交互模式,提供了丰富的功能,是排查jvm相关问题的利器。具体包括:

  • 提供性能看板,包括线程、cpu、内存等信息,并且会定时的刷新。
  • 根据各种条件查看线程快照。比如找出cpu占用率最高的n个线程等。
  • 输出jvm的各种信息,如gc算法、jdk版本、ClassPath等。
  • 查看/设置sysprop和sysenv。
  • 查看某个类的静态属性,也可以通过ognl语法执行一些语句。
  • 查看已加载的类的详细信息,比如这个类从哪个jar包加载的。也可以查看类的方法的信息。
  • dump某个类的字节码到指定目录。
  • 直接反编译指定的类。
  • 查看类加载器的一些信息。
  • 可以让jvm重新加载某个类。
  • 监控方法的执行,同时可以获取到执行的入参、出参以及抛出的异常。
  • 追踪方法执行的调用栈,以及各个方法的调用时间。
  • 在线编译,热更新代码
  • 生成热点代码火焰图

原理图及支持的命令列表:

★ ChaoBlade

ChaosBlade 是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具,帮助企业提升分布式系统的容错能力,并且在企业上云或往云原生系统迁移过程中业务连续性保障。ChaosBlade 不仅使用简单,而且支持丰富的实验场景,场景包含:

基础资源:比如 CPU、内存、网络、磁盘、进程等实验场景。

Java 应用:比如数据库、缓存、消息、JVM 本身、微服务等,还可以指定任意类方法注入各种复杂的实验场景。

C++ 应用:比如指定任意方法或某行代码注入延迟、变量和返回值篡改等实验场景。

Docker 容器:比如杀容器、容器内 CPU、内存、网络、磁盘、进程等实验场景。

云原生平台:比如 Kubernetes 平台节点上 CPU、内存、网络、磁盘、进程实验场景,Pod 网络和 Pod 本身实验场景如杀 Pod,容器的实验场景如上述的 Docker 容器实验场景。

相关生态图如下:

★ P3C:

P3C可以帮助Java开发者检测代码中村在的不规范的位置并给与提示。规约插件采用Kotlin语言进行开发。

★  Funcraft:

Serverless 应用开发调试部署工具。

三、阿里云开放平台

丰富的API和SDK向开发者提供阿里云开放能力。

★  API

  • API文档:可以找到阿里云已经开放API的产品及相应的文档地址。
  • API Endpoint:查询各产品OpenAPI的访问Endpoint,可以直接访问该Endpoint或用于配置SDK。
  • API 在线调试:支持快速检索、可视化调试 API、在线命令行工具、同步动态生成可执行 SDK Example 代码。
  • API 错误中心:在这里可以搜索接收到的错误码,并获取简单的解决提示。

★  SDK

提供多语言的 SDK 为用户封装 API 签名计算,组织请求结构,构建连接池提升请求效率和性能,解析返回结果等。让开发者不用复杂代码即可访问云服务器、云数据库RDS、云监控等多个阿里云服务。阿里云SDK包含:Java SDK、PythonSDK、GO SDK、PHP SDK、.NET SDK、Node.js SDK等。

四、阿里云代码示例库

经典代码一键复制

阿里云CodeSample以场景为维度,支持以云产品和语言为条件选取目标代码。告别CTRL+C,CTRL+V,点击图标一键复制,好用到没朋友。

五、云产品工具

优质且免费的阿里云产品工具。

云产品通用

★ Cloud Toolkit

Cloud Toolkit 是免费的本地 IDE 插件,支持IntelliJ IDEA、Eclipse、PyCharm、Maven、VSCode以及其他版本,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、Kubernetes、ACR 和 小程序云 等);并且还内置了 Arthas 诊断、Dubbo工具、Terminal 终端、文件上传、函数计算 和 MySQL 执行器等工具。(产品官网:https://www.aliyun.com/product/cloudtoolkit

通过该插件,你可以:

  • 一键部署本地 IDE 内项目到任意远程服务器
  • 一键部署本地 IDE 内项目到阿里云 EDAS、SAE 和Kubernetes
  • 本地 Docker Image 打包和仓库推送工具
  • 远程服务器实时日志查看
  • 阿里云小程序开发工具
  • 阿里云函数计算开发工具
  • 阿里云 RDS 内置 SQL 执行器
  • 内置 Terminal 终端
  • 文件上传
  • Apache Dubbo 框架项目模板&代码生成
  • Java 程序诊断工具
  • RPC 服务端云联调

★  Cloud Shell

网页版命令行工具,允许用户通过命令行管理阿里云资源。

★  CLI

在Alibaba Cloud SDK for GO 之上构建的开源工具。借助此工具,您可以通过调用阿里云开放 API 来管理阿里云产品。该命令行工具与阿里云开放 API 一一对应,灵活性高且易于扩展。您可基于该命令行工具对阿里云原生 API 进行封装,扩展出您想要的功能。

数据库

★ 数据库备份DBS

为数据库提供连续数据保护、低成本的备份服务。它可以为多种环境的数据提供强有力的保护,包括企业数据中心、其他云厂商、混合云及公共云。

★ 数据传输服务DTS

DTS支持关系型数据库、NoSQL、大数据(OLAP)等数据源间的数据传输。它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。数据传输致力于在公共云、混合云场景下,解决远距离、毫秒级异步数据传输难题。它底层的数据流基础设施为阿里双11异地多活基础架构, 为数千下游应用提供实时数据流,已在线上稳定运行5年之久。

★ 数据库和应用迁移 ADAM

ADAM是一款把数据库和应用迁移到阿里云(公共云或专有云)的产品,显著地降低了上云的技术难度和成本,尤其是Oracle数据库应用。ADAM全面评估上云可行性、成本和云存储选型,内置实施协助,数据、应用迁移等工具,确保可靠、快速上云。

基础仓库

开放云原生应用中心 ——Cloud Native App Hub,一个面向开发者的云原生应用市场。

★ 容器镜像服务(ContainerRegistry)

ACR提供安全的镜像托管能力,稳定的国内外镜像构建服务,便捷的镜像授权功能,方便用户进行镜像全生命周期管理。容器镜像服务简化了Registry的搭建运维工作,支持多地域的镜像托管,并联合容器服务等云产品,为用户打造云上使用Docker的一体化体验。

迁移工具

★ 迁云工具

帮助你完成服务器迁移到阿里云的P2V和V2V。

★ 闪电立方

为用户提供安全、高效、便捷的数据传输服务。支持将对象存储、文件存储从不同设备、不同云服务商迁移和同步到阿里云。它提供在线迁移和离线迁移(闪电立方)两种迁移方式,致力于解决大规模数据传输效率、安全问题等难题。

Serverless

★ FC WebIDE

一款开发Serverless的云端开发工具。

★ FC VSCode Extension   

图形化开发调试及操作函数计算资源工具。

六、小程序云开发平台

一云多端

小程序云

小程序云(Mini Program Cloud)是阿里云面向小程序场景提供的一站式云服务,帮助开发者实现一云多端的业务战略,提供了有服务器和无服务器两种模式。云应用是有服务器模式,提供了包括资源编排、应用托管等服务。小程序Serverless是无服务模式,提供了开发、运营、业务增值等服务。跨端开发工具链为开发者提供了一次开发全网小程序运行的能力,并在一朵云内实现统一的资源管理、统一的数据运营和统一的业务设计。

Serverless

阿里云小程序Serverless提供包括云函数、数据存储、文件存储等一整套后端服务。开发者通过API方式即可获取云函数、数据存储、文件存储、音视频、图像处理等服务,不需要关心服务器或底层运维设施,可以更专注于代码和业务本身。

跨端IDE

uni-app跨平台开发扩展支持在阿里云小程序开发者工具中将uni-app工程编译为微信小程序,并同时打开微信开发者工具。跨端IDE内置跨端框架,支持一次开发多端运营,兼容支付宝、微信等主流小程序框架。

本地插件

支持通过IntelliJ IDEA、Eclipse、Pycharm等直接发布到云应用服务。

点击此处即可使用上文提到的所有开发者工具,建议将链接收藏后在PC端打开哦。

原文发布时间:2020-01-22
作者:崆峒
本文来自阿里云合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”。

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
5月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
6月前
|
API C++
甩开卡顿!HarmonyOS丢帧问题超详细拆解手册
这是一本针对HarmonyOS丢帧问题的超详细调优指南,从渲染流水线原理到实战优化全面解析。文章拆解了应用侧、Render Service和屏幕显示三大核心模块,结合60Hz/90Hz/120Hz帧率要求,深入分析卡顿原因。通过四步法(识别、录制、定位、优化),提供核弹级性能优化方案,涵盖列表卡顿、动画掉帧、布局臃肿等常见问题,并总结避坑圣经,助你轻松甩开卡顿,打造丝滑体验!
520 1
|
9月前
|
人工智能 算法 搜索推荐
当人类智力遭遇数字洪流的侵蚀:生成式人工智能(GAI)认证能否成为认知时代的诺亚方舟?
在数字时代,人类智力水平面临挑战,尤其是精神集中能力的下降。生成式人工智能(GAI)认证作为一种新兴职业技能认证体系,为应对认知时代的挑战提供了重要工具。本文探讨了数字技术对人类智力的影响、GAI认证的价值及未来展望,并提出个人、企业和社会应采取的应对策略,共同推动智能化社会的发展。
|
9月前
|
机器学习/深度学习 搜索推荐 大数据
数据驱动的教育革命:让学习更智能、更个性化
数据驱动的教育革命:让学习更智能、更个性化
315 76
|
7月前
|
前端开发 开发工具
鸿蒙开发:那些常用的资源管理方法
熟练的使用资源管理,可以极大的提高我们的开发效率,不仅仅在一些组件中使用到,更多的是在一些三方的sdk中,由于定义的类型单一,为了项目的可维护,资源管理的使用也是非常的常见的。
188 5
鸿蒙开发:那些常用的资源管理方法
|
7月前
|
安全 API 开发者
HarmonyOS NEXT《ArkTS渲染控制完全指南:条件与循环渲染深度解析》
本文深入解析ArkTS条件渲染与循环渲染核心技术,涵盖`if/else`和`ForEach`的使用方法、动态更新机制及性能优化策略。通过20+实战案例,如数据增删、拖拽排序、点赞交互等,结合骨架屏加载、动画修复等企业级解决方案,助你突破渲染瓶颈,打造流畅UI体验。无论初学者还是进阶开发者,都能全面掌握ArkTS渲染控制精髓!适配HarmonyOS开发,助力教育科普与实践应用。
258 2
|
9月前
|
传感器 JavaScript 调度
HarmonyOS Next 并发 taskpool 和 worker
HarmonyOS Next 提供了 TaskPool 和 Worker 两种并发能力,基于 Actor 并发模型实现。TaskPool 是 Worker 的封装,支持参数直接传递、返回数据接收、任务优先级设置及取消功能,适合大多数场景;Worker 则适用于超长任务或需手动管理线程生命周期的场景。两者通过消息通信完成跨线程数据交换,支持普通对象拷贝、ArrayBuffer 拷贝/转移、SharedArrayBuffer 共享及 Sendable 引用传递等方式。实际开发中,TaskPool 更简化任务调度,而 Worker 更灵活,可根据任务类型(耗时、长时、常驻)选择合适方案。
391 12
HarmonyOS Next 并发 taskpool 和 worker
|
8月前
|
SQL 边缘计算 人工智能
中小企业数字化转型的低成本路径:Websoft9 助力用户从 0 到 1 的实践经验
开源软件正成为企业数字化转型的核心引擎,尤其对中小企业而言,其零授权成本、技术自主与敏捷迭代特性优势显著。Websoft9 数据显示,采用开源技术可使初期投入降低62%,同时通过成本重构、敏捷响应及安全可控三大价值闭环助力企业发展。然而,技术鸿沟如组件筛选难、环境配置繁等问题仍制约企业应用开源的步伐。对此,Websoft9 提供工程化解决方案,涵盖智能匹配引擎、全生命周期运维体系与标准化集成平台,赋能企业从基础设施到智能应用的全场景实践。最终,通过模块贡献和技术反哺,Websoft9 推动企业从使用者向共建者转变,实现数字化生存范式的全面重构。
|
存储 监控 安全
网络安全中的蜜罐:原理、类型及应用
【8月更文挑战第31天】
2362 0