Top Architect
Author

Top Architect

Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.

3.1k
Articles
0
Likes
8.0k
Views
0
Comments
Recent Articles

Latest from Top Architect

100 recent articles max
Top Architect
Top Architect
Jan 13, 2026 · Backend Development

Why Our Custom Snowflake ID Collided and How to Build a Reliable Generator

A severe production incident caused duplicate order IDs due to a flawed custom Snowflake implementation, prompting a detailed review of the standard algorithm, identification of critical design mistakes, and a set of practical recommendations for safe, scalable ID generation in distributed back‑end systems.

ID generationJavasnowflake
0 likes · 8 min read
Why Our Custom Snowflake ID Collided and How to Build a Reliable Generator
Top Architect
Top Architect
Jan 12, 2026 · Backend Development

How to Build a Robust Asynchronous Processing SDK with Spring, Kafka, and XXL‑Job

This article explains the design and implementation of a generic asynchronous processing SDK for Java, covering its purpose, advantages, core principles, component choices, design patterns, configuration via Apollo, usage steps, safety considerations, and provides complete SQL and Spring configuration examples along with a GitHub repository link.

AsynchronousDesign PatternsJava
0 likes · 11 min read
How to Build a Robust Asynchronous Processing SDK with Spring, Kafka, and XXL‑Job
Top Architect
Top Architect
Jan 11, 2026 · Backend Development

How to Implement Java SPI with Maven Multi‑Module Projects and Spring Boot

This guide explains Java's Service Provider Interface (SPI) mechanism, compares it with traditional APIs, and walks through building a multi‑module Maven project that defines an SPI, provides a default implementation, creates an external plugin jar, loads it at runtime with a custom class loader, and integrates the service into a Spring Boot application.

SPIclasspathplugin
0 likes · 14 min read
How to Implement Java SPI with Maven Multi‑Module Projects and Spring Boot
Top Architect
Top Architect
Jan 11, 2026 · Databases

How to Add a Column to a Billion‑Row Order Table Without Locking Production

When a core order table with tens of millions of rows needs a new business field, the article explores why a direct ALTER TABLE can lock the table, evaluates master‑slave switching, online DDL tools, extension tables, JSON fields, and a clever reuse of an existing redundant column, providing practical steps and performance insights.

DDLJSON fieldMySQL
0 likes · 9 min read
How to Add a Column to a Billion‑Row Order Table Without Locking Production
Top Architect
Top Architect
Jan 10, 2026 · Backend Development

Boost Java Build Speed with Maven‑mvnd: Features, Installation & Usage

This article explains how Maven‑mvnd accelerates Java project builds by using a long‑running daemon to eliminate JVM startup overhead, reduces resource consumption, improves multi‑module builds, and provides step‑by‑step installation, configuration, and usage instructions with practical command examples.

Build OptimizationJavaMaven
0 likes · 8 min read
Boost Java Build Speed with Maven‑mvnd: Features, Installation & Usage
Top Architect
Top Architect
Jan 8, 2026 · Fundamentals

What 10+ Design Patterns Power MyBatis’s 20k+ Lines of Code?

The article examines how MyBatis’s massive source code employs more than ten classic design patterns—creational, structural, and behavioral—to decouple complex scenarios, illustrating each pattern with diagrams, typical use‑cases, and related classes within the framework.

Behavioral PatternsCreational PatternsMyBatis
0 likes · 13 min read
What 10+ Design Patterns Power MyBatis’s 20k+ Lines of Code?
Top Architect
Top Architect
Jan 8, 2026 · Backend Development

Why MyBatis‑Plus Migration Fails: LocalDateTime Conversion and Connector Version Issues

A legacy project using MySQL 5.7, MyBatis 3.5.0 and mysql‑connector‑java 5.1.26 encounters a "Conversion not supported for type java.time.LocalDateTime" error after switching to MyBatis‑Plus 3.1.1, which is traced to MyBatis 3.5.1 dropping built‑in LocalDateTime handling and the old connector not supporting the type, requiring an upgrade to mysql‑connector‑java 5.1.37 or later.

JDBC driverLocalDateTimeMyBatis
0 likes · 9 min read
Why MyBatis‑Plus Migration Fails: LocalDateTime Conversion and Connector Version Issues
Top Architect
Top Architect
Jan 7, 2026 · Backend Development

Customize Spring Boot Startup Banner with ASCII Art and ANSI Colors

This guide shows how to replace Spring Boot's default console banner by creating a custom banner.txt with ASCII graphics, using built‑in placeholders for version, port, profile and date, adding ANSI color codes, and optionally disabling the default banner to print a fully customized startup message from Java code.

ANSI ColorASCII artBanner
0 likes · 9 min read
Customize Spring Boot Startup Banner with ASCII Art and ANSI Colors
Top Architect
Top Architect
Jan 6, 2026 · Backend Development

Spring Boot vs Quarkus: Performance Test, Migration Guide, and When to Choose Each

An in‑depth comparison of Spring Boot and Quarkus evaluates startup time, build speed, binary size, CPU, memory, and response latency using reactive APIs and native images, then outlines migration steps, Spring API compatibility, and practical benefits for developers moving Java microservices to Kubernetes‑native environments.

JavaKubernetesQuarkus
0 likes · 16 min read
Spring Boot vs Quarkus: Performance Test, Migration Guide, and When to Choose Each