12 commonly used back-end development tools in Alibaba

1 Alsace Java Online Diagnostic Tool

Arthas is an online diagnostic tool for Java applications, open sourced by Alibaba in September 2018.

Typical scenario:

  • You don't know the specific JAR package from which the class is loaded. You want to figure out why your system throws various class-related exceptions.

  • You don't know why your modified code doesn't execute. You don't remember whether you committed your changes. You are not sure if you are using the correct branch.

  • Something went wrong and you can't debug it online. You're wondering if you have to add logs to your app and publish again.

  • You have a problem with user data processing, but you are unable to debug it online or reproduce the problem offline.

  • You want to have a global view to monitor the health of your system.

  • You need a solution to monitor the real-time running status of your JVM.

Arthas supports Java Development Kit (JDK) 6 and above, and it supports Linux, Mac, and Windows. Arthas uses command line interactive mode and allows you to use Tab to autocomplete commands on the command line, making problem location and diagnosis easier.

Basic tutorials:
https://alibaba.github.io/arthas/arthas-tutorials? language=en&id=arthas-basics

Advanced tutorials:
https://alibaba.github.io/arthas/arthas-tutorials? language=en&id=arthas-advanced

GitHub page: https://github.com/alibaba/arthas

2 Cloud Toolkit IDE plug-in

Cloud Toolkit is an integrated development environment (IDE) plug-in that can be used to help developers develop, test, diagnose and deploy applications more efficiently. Cloud Toolkit allows developers to conveniently deploy native applications to any computer (local or cloud-based). Cloud Toolkit has a built-in Arthas diagnostic tool that supports efficient execution of terminal commands and SQL statements. CloudToolkit is available in different IDEs such as IntelliJ IDEA, Eclipse, PyCharm and Maven.

Typical scenario:

  • You're tired of packaging your code over and over every time you modify it.

  • You don't want to constantly switch back and forth between code management tools like Maven and Git.

  • You use the Secure Copy (SCP) tool to upload the file and use XShell or SecureCRT to log into your server, replace the deployment package, or restart the server.

  • You don't want to regularly switch back and forth between various FTP and SCP tools to upload files to a designated directory on your server.

Download link: https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit

3 ChaosBlade Chaos Engineering Fault Injection Tool

ChaosBlade is a chaos engineering tool that follows the principles of chaos engineering experiments and provides a wide range of failure scenarios to help you improve the fault tolerance and recoverability of distributed systems. It can inject potential faults and provide various failure scenarios. These scenarios include delays, exceptions, returning specific values, modifying parameter values, repeated calls, and try-catch block exceptions.

Typical scenario:

  • You find it difficult to measure the fault tolerance of your microservices.

  • You don't know how to validate your container orchestration configuration.

  • You don't know how to implement robustness testing of the PaaS layer.

GitHub page: https://github.com/chaosblade-io/chaosblade

4 Alibaba Java Coding Guide

This plugin detects coding issues in Java code and provides you with hints. This plug-in is developed based on Kotlin language.

IDEA plug-in usage instructions:

https://github.com/alibaba/p3c/tree/master/idea-plugin

Instructions for using the Eclipse plug-in: https://github.com/alibaba/p3c/tree/master/eclipse-plugin

GitHub page: https://github.com/alibaba/p3c

5 Application Real-time Monitoring Service (ARMS)

ARMS is an application performance management (APM) tool. It provides three monitoring options: front-end monitoring, application monitoring and custom monitoring to help you build your own real-time application performance and business monitoring capabilities.
Typical scenario:

  • You receive 37 alert messages at 22:00, but you don't know where to start.

  • The customer or business team discovers the problem before you do.

  • You invest tens of thousands of dollars per month in servers, but you still can't guarantee a good user experience.

Application monitoring integration: https://www.alibabacloud.com/help/doc-detail/63796.htm

Custom monitoring: https://www.alibabacloud.com/help/doc-detail/47474.htm

Product page: https://www.alibabacloud.com/product/arms

6 Docsite Open Source Static Website Generator

Docsite is an open source static website generator that helps you build your own official website, documentation center, blog site and community. It's easy to use and addictive. It supports reactive and static rendering, PC and mobile clients, internationalization, SEO, markdown documentation and many useful features such as global site search, site style customization and page customization.

Tutorial: https://docsite.js.org/en-us/docs/installation.html

GitHub page: https://github.com/txd-team/docsite

7 Freeline - Secondary compilation solution for Android

Freeline caches reusable class files and resource indexes and compiles code updates and deploys them to your devices in seconds. This effectively reduces a lot of time spent recompiling and installing during daily development. The most convenient way to use Freeline is to install the AndroidStudio plug-in directly.

Tutorial: https://github.com/alibaba/freeline/blob/master/README.md

GitHub page: https://github.com/alibaba/freeline

8 Alibaba Cloud Application High Availability Service (AHAS)

AHAS provides many powerful features, such as architectural visualization of container environments such as Kubernetes (K8s), fault injection-based high availability assessment, and one-click throttling and degradation. AHAS helps you increase application availability quickly and at low cost.

Typical scenario:

  • When refactoring a service, you want to visualize the architecture to accurately understand resource instance composition and interactions.

  • You need real failure scenarios and drill-through models.

  • You want to use throttling and downgrading features at low cost.

Tutorial: https://www.alibabacloud.com/help/doc-detail/90323.htm
Product page: https://www.alibabacloud.com/product/ahas

9 EasyExcel data processing tool

EasyExcel is a framework that parses Java code and generates excel files. It rewrites the Apache POI SAX parser for Microsoft Excel 2007. To process a 3 MB Excel file, the Apache POI SAX parser requires about 100 MB of memory, while EasyExcel requires about a few KB. Furthermore, EasyExcel eliminates out-of-memory (OOM) issues no matter how big the excel file is. As of Microsoft Excel 2003, EasyExcel still uses the Apache POI SAX parser. But it encapsulates the model converter in the upper layer, making it easier to use.

Tutorial: https://github.com/alibaba/easyexcel/blob/master/quickstart.md

GitHub page: https://github.com/alibaba/easyexcel

10 HandyJSON for iOS

HandyJSON is a json-object serialization/deserialization library written in Swift language.

Compared to other popular Swift JSON libraries, HandyJSON supports pure Swift classes and is easy to use. When using HandyJSON in deserialization (converting JSON to model), the model does not have to inherit from NSObject because HandyJSON is not KVC based. You also don't have to define a mapping function for your model. After defining a model class and declaring that it follows the HandyJSON protocol, HandyJSON automatically parses the values ​​in the JSON string by using the property names as keys.

Tutorial: https://github.com/alibaba/HandyJSON/blob/master/README.md

GitHub page: https://github.com/alibaba/HandyJSON

11 Druid database connection pool

Druid is the best database connection pool in the Java language, which provides powerful monitoring and scaling capabilities.

Tutorial: https://github.com/alibaba/druid/wiki/FAQ

GitHub page: https://github.com/alibaba/druid

12 Alibaba DragonwellJava Development Kit

Alibaba Dragonwell is an open source version of Alibaba/AlipayJDK (AJDK), a custom OpenJDK used internally by Alibaba. AJDK is optimized for online e-commerce, finance and logistics applications based on business scenarios. It has been running in ultra-large Alibaba data centers, each running more than 100,000 servers. Alibaba Dragonwell is compatible with the Java SE standard. Currently, it only supports Linux x86_64 platform.

Tutorial: https://github.com/alibaba/dragonwell8/wiki/Alibaba-Dragonwell8-User-Guide

GitHub page: https://github.com/alibaba/dragonwell8

Guess you like

Origin blog.csdn.net/qq_37284798/article/details/132333497