推荐几款阿里开发者工具
极客时间编辑部
讲述:丁婵大小:9.23M时长:06:43
来源:阿里技术
所谓“工欲善其事,必先利其器。”众所周知,阿里巴巴将自身在业务场景下的技术沉淀,通过开源、云上实现或工具等形式对外开放。此前,阿里云技术运营专家崆峒盘点了阿里巴巴开发者工具和资源,希望能帮助开发者们提高开发效率。以下为重点内容。
开源工具
1. Alibaba Dragonwell
这是阿里巴巴内部 OpenJDK 定制版 AJDK 的开源版本, AJDK 为在线电商、金融、物流做了结合业务场景的优化,运行在超大规模的超 100,000 服务器的阿里巴巴数据中心。Alibaba Dragonwell 与 Java SE 标准兼容,目前提供 JDK8 和 11 两个长期支持(LTS)版。
你可以通过简单的两步安装 Dragonwell:在阿里云开发者社区工具平台 - 开源工具找到 Alibaba Dragonwell 的链接,点击进入 GitHub 地址后选择下载。你也可以通过阿里云 yum 源或者 Dragonwell8 Docker 镜像来使用。
Alibaba Dragonwell8 提供了两个在阿里巴巴的生产环境中进行过广泛验证的特性:JWarmUp 和 JavaFlight Recorder。
一个典型的应用场景是当应用需要发布新版本时:
首先,JWarmUp 在 Beta 环境(或者有着和生产环境类似流量的其他场景)的单台机器上短时间执行 Java 应用,并记录、收集这段时间里 JIT 编译器所做动作的一些元数据。
然后,把这些元数据复制到生产环境的每一台包含了新版本代码的机器 / 容器里面。
最后,在生产环境机器中通过 JWarmUp 参数加载 Beta 环境生成的元数据,来指导生产环境的机器在启动应用的过程中就完成 JIT 预热。
这样当用户请求进入时,应用就会处于性能最高的峰值状态。
Java Flight Recorder 是 JVM 内置的基于事件的性能分析特性,这是 Oracle JDK7u4 版本开始提供的商业特性,2018 年的时候在 JDK11 上开源了这个特性,但是一直没有针对 JDK8 版本的支持。
阿里巴巴和 RedHat、Azul、Amazon 等公司一起合作尝试把这个特性移植回 JDK8 上,不过该 Patch 暂时还没有合并回 OpenJDK8u 仓库。而 Alibaba Dragonwell 8 中提供了 Alibaba 移植的 JFR 版本,用于帮助用户提前获取这方面的支持。
2. Arthas
这是阿里巴巴 2018 年 9 月开源的 Java 线上诊断工具,它采用命令行交互模式,提供了丰富的功能,是排查 JVM 相关问题的利器。它的特性如下:
提供性能看板,包括线程、CPU、内存等信息,并且会定时刷新。
根据各种条件查看线程快照,比如找出 CPU 占用率最高的 n 个线程等。
输出 JVM 的各种信息。
查看 / 设置 Sysprop 和 Sysenv。
查看已加载类的详细信息。
Dump 某个类的字节码到指定目录。
直接反编译指定的类。
查看类加载器的一些信息。
可以让 JVM 重新加载某个类。
支持监控方法的执行,同时可以获取到执行的入参、出参以及抛出的异常。
追踪方法执行的调用栈,以及各个方法的调用时间。
支持在线编译、热更新代码。
生成热点代码火焰图。
3. ChaosBlade
这是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具,帮助企业提升分布式系统的容错能力,并且在企业上云或往云原生系统迁移过程中保证业务的连续性。ChaosBlade 不仅使用简单,而且支持丰富的实验场景,场景包含:
基础资源:比如 CPU、内存、网络、磁盘、进程等实验场景。
Java 应用:比如数据库、缓存、消息、JVM 本身、微服务等,还可以指定任意类方法注入各种复杂的实验场景。
C++ 应用:比如指定任意方法或某行代码注入延迟、变量和返回值篡改等实验场景。
Docker 容器:比如杀容器、容器内 CPU、内存、网络、磁盘、进程等实验场景。
云原生平台:比如 Kubernetes 平台节点上 CPU、内存、网络、磁盘、进程实验场景。
4. P3C
它可以帮助 Java 开发者检测代码中存在的不规范位置并给与提示。其规约插件采用 Kotlin 语言进行开发。
阿里云开放平台
1. API
API 文档:可以找到阿里云已经开放 API 的产品及相应的文档地址。
API Endpoint:查询各产品 OpenAPI 的访问 Endpoint,可以直接访问该 Endpoint 或用于配置 SDK。
API 在线调试:支持快速检索、可视化调试 API、在线命令行工具、同步动态生成可执行 SDK Example 代码。
API 错误中心:在这里可以搜索接收到的错误码,并获取简单的解决提示。
2.SDK
提供多语言的 SDK 为用户封装 API 签名计算、组织请求结构、构建连接池提升请求效率和性能、解析返回结果等。让开发者不用复杂代码即可访问云服务器、云数据库 RDS、云监控等多个阿里云服务。阿里云 SDK 包含:Java SDK、PythonSDK、GO SDK、PHP SDK、.NET SDK、Node.js SDK 等。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- soma去年刚刚毕业,最近面临找工作,投简历的时候发现要会使用Apipost,我好奇就去看看,竟然有客户端和web版,还是全中文的,对应他们官网的使用文档,上手还挺快,对我这种英语不太好的又刚入行,实属不赖, 哈哈哈
收起评论