Explore Alibaba’s Top Open‑Source Java Projects: From Canal to Compileflow

This guide compiles a curated list of actively maintained Alibaba open‑source Java projects—including Canal for MySQL binlog replication, EasyExcel for memory‑efficient Excel handling, Arthas diagnostic tool, FastJson, Druid, Sentinel, Nacos, RocketMQ, Dubbo, Seata, P3C, Alink, COLA, TestableMock and Compileflow—providing brief overviews, core features, and useful links for developers.

macrozheng
macrozheng
macrozheng
Explore Alibaba’s Top Open‑Source Java Projects: From Canal to Compileflow

Recently I took time to organize some Alibaba open‑source Java projects that are still maintained and usable.

Although some projects are not perfect, they are still very worth learning.

Thanks to the Alibaba technical team for their contributions to the Java open‑source ecosystem.

Canal

Canal (pronounced “kə'næl”) means waterway/pipe/channel and is mainly used for parsing MySQL incremental logs, providing incremental data subscription and consumption.

Canal helps synchronize data between MySQL and other data sources such as Elasticsearch, Kafka, RocketMQ, or another MySQL instance by simulating MySQL master‑slave replication and parsing binlog.

MySQL binlog (binary log) records all data changes (DDL and DML) in the database, enabling data synchronization from the primary to replicas.

More detailed process (image from “MySQL Master‑Slave Replication on the Same Machine”):

MySQL master‑slave replication steps:

Primary writes data changes to binlog.

Replica connects to primary.

Replica creates an I/O thread to request updated binlog.

Primary creates a binlog dump thread to send binlog; replica’s I/O thread receives it.

Replica’s I/O thread writes received binlog to relay log.

Replica’s SQL thread reads relay log and re‑executes the SQL locally.

Wiki : https://github.com/alibaba/canal/wiki

Github : https://github.com/alibaba/canal

EasyExcel

Common Java frameworks for parsing/generating Excel such as Apache POI and JXL are not elegant and are very memory‑intensive, often causing OOM.

How to solve this?

Use Alibaba’s open‑source EasyExcel, described as a fast, simple Java tool that avoids OOM when handling Excel.

Official description:

Official docs : https://www.yuque.com/easyexcel

Github : https://github.com/alibaba/easyexcel

Arthas

Arthas is an Alibaba open‑source Java diagnostic tool that can analyze, diagnose, and locate Java application problems.

Arthas packages many common Java diagnostic functions into simple command‑line operations.

Its underlying technology uses bytecode manipulation, apparently based on ByteBuddy.

ByteBuddy is a powerful Java bytecode enhancement framework that provides a unified, easy‑to‑use API, simplifying bytecode coding and usage. Many popular frameworks such as Mockito, Hibernate, and Jackson rely on ByteBuddy.

Arthas provides detailed online tutorials: https://arthas.aliyun.com/doc/arthas-tutorials.html?language=cn

Official site : https://arthas.aliyun.com/zh-cn/

Github : https://github.com/alibaba/arthas

FastJson

FastJson is Alibaba’s open‑source JSON parsing library that uses ASM to dynamically generate classes, offering very high speed but also raising potential security concerns.

FastJson was largely developed and maintained by a single developer, 温少, who is praised for his contributions.

While some criticize FastJson’s vulnerabilities, developers hope for more understanding.

Wiki : https://github.com/alibaba/druid/wiki/常见问题

Github : https://github.com/alibaba/fastjson

Druid

Druid is Alibaba’s database connection pool designed for monitoring, also largely maintained by the same developer.

Github: https://github.com/alibaba/druid

Spring Cloud Alibaba Projects

Sentinel

Sentinel is Alibaba’s traffic‑control component for distributed service architectures, providing flow control, circuit breaking, and system adaptive protection.

Official docs : https://sentinelguard.io/zh-cn/docs/introduction.html

Github : https://github.com/alibaba/Sentinel

Nacos

Nacos is a dynamic service discovery, configuration management, and service management platform for building cloud‑native applications.

Key points:

Nacos is mainly used for service discovery, configuration, and management of microservices.

The name stands for Naming, Configuration, Service.

Core features include service discovery, health monitoring, dynamic configuration, dynamic DNS, and metadata management.

Official site : https://nacos.io/zh-cn/index.html

Github : https://github.com/alibaba/nacos

RocketMQ

RocketMQ is a high‑performance, high‑reliability, real‑time distributed message queue developed by Alibaba and now an Apache top‑level project.

Official site : https://rocketmq.apache.org/

Github : https://github.com/apache/rocketmq

Dubbo

Apache Dubbo is a high‑performance, lightweight open‑source Java RPC framework.

Dubbo’s six core capabilities:

High‑performance RPC based on interface proxy.

Smart fault tolerance and load balancing.

Service registration and discovery.

Highly extensible architecture.

Runtime traffic scheduling.

Visual service governance and operations.

In short, Dubbo not only enables remote service calls but also provides many out‑of‑the‑box features such as intelligent load balancing.

Official docs : https://dubbo.apache.org/zh/

Github : https://github.com/apache/dubbo

Seata

Seata is an open‑source distributed transaction solution designed for high performance and ease of use in microservice architectures.

Distributed transactions ensure that operations across multiple databases either all succeed or all fail.

Typical solutions include 2PC, 3PC, TCC, local message tables, MQ transactions, Saga, etc.

Official site : http://seata.io/zh-cn/

Github : https://github.com/seata/seata

P3C

P3C includes Alibaba’s Java Development Manual (a collection of best‑practice guidelines) and related IDE plugins.

P3C‑PMD: https://github.com/alibaba/p3c/tree/master/p3c-pmd

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

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

The IDEA plugin, named Alibaba Java Code Guidelines, provides real‑time rule detection and quick‑fix suggestions.

The plugin implements 53 rules, most based on PMD, with some IDEA‑specific rules and real‑time inspection support.

Alink

Alink is a general algorithm platform based on Flink, developed by Alibaba’s PAI team, supporting many machine‑learning tasks such as model selection, hyper‑parameter tuning, recommendation, and anomaly detection.

It covers three core algorithm categories: classification, clustering, and regression, as well as association rules, collaborative filtering, and similarity algorithms.

Github : https://github.com/alibaba/Alink

Official docs : https://www.yuque.com/pinshu/alink_doc

Usage guide : https://www.yuque.com/pinshu/alink_guide

Plugin downloader : https://www.yuque.com/pinshu/alink_guide/czg4cx

COLA

COLA (Clean Object‑Oriented and Layered Architecture) helps developers quickly implement DDD‑based project architectures.

Github : https://github.com/alibaba/COLA

TestableMock

A minimalistic mock testing tool that works without initialization or framework constraints, supporting mocking of private, static, constructors, and any method.

Define a mock with the @MockMethod annotation and it’s ready to use.

Github : https://github.com/alibaba/testable-mock

Docs : https://alibaba.github.io/testable-mock/

Chinese mirror : http://freyrlin.gitee.io/testable-mock/

Compileflow

A lightweight, high‑performance, integrable, and extensible workflow engine, one of the TBBPM engines used in Taobao.

Compileflow executes processes in pure memory by converting workflow files into compiled java code.

Github : https://github.com/alibaba/compileflow

Official demo : https://github.com/compileflow/compileflow-demo

IntelliJ IDEA visual designer plugin : https://github.com/alibaba/compileflow-idea-designer

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

AlibabaJavatools
macrozheng
Written by

macrozheng

Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.