Yumin Fish Harvest
Author

Yumin Fish Harvest

A deep‑sea salvage fisherman sharing architecture insights, practical tips, and lessons learned.

24
Articles
0
Likes
72
Views
0
Comments
Recent Articles

Latest from Yumin Fish Harvest

24 recent articles
Yumin Fish Harvest
Yumin Fish Harvest
Aug 23, 2026 · Backend Development

How to Deploy TSID for Distributed ID Generation: From Local Setup to Multi‑Cluster Kubernetes

This article walks through using the TSID library to generate 64‑bit numeric and 13‑character string IDs, shows a quick‑start Maven example, integrates the creator into Spring Boot as a singleton bean, explains node and nodeCount configuration, and details deployment strategies for fixed servers, a single Kubernetes cluster, and multiple clusters.

JavaKubernetesSpring Boot
0 likes · 16 min read
How to Deploy TSID for Distributed ID Generation: From Local Setup to Multi‑Cluster Kubernetes
Yumin Fish Harvest
Yumin Fish Harvest
Aug 18, 2026 · Backend Development

Distributed Snowflake ID Generation in Java: Hutool and MyBatis-Plus Demo

This article walks through the Snowflake algorithm for distributed ID generation, detailing its timestamp, workerId and sequence fields, handling clock rollback and sequence overflow, and provides a complete Java implementation with integration examples for Hutool and MyBatis‑Plus, including configuration and test code.

Distributed SystemsHutoolJava
0 likes · 28 min read
Distributed Snowflake ID Generation in Java: Hutool and MyBatis-Plus Demo
Yumin Fish Harvest
Yumin Fish Harvest
Aug 17, 2026 · Backend Development

How to Implement Distributed ID Generation with Segment Mode? A Double‑Buffer Issuer in Practice

The article analyses lock contention caused by per‑request ID generation, derives a segment‑based solution that batches IDs using a configurable step, defines a left‑closed/right‑open interval schema in MySQL, and builds a double‑buffer Java issuer with asynchronous pre‑loading, thorough concurrency handling, testing, and configuration guidelines.

JavaMySQLconcurrency
0 likes · 21 min read
How to Implement Distributed ID Generation with Segment Mode? A Double‑Buffer Issuer in Practice
Yumin Fish Harvest
Yumin Fish Harvest
Aug 16, 2026 · Databases

Implementing Continuous Invoice Numbers Using a Transactional Watermark Table

The article explains how to generate strictly sequential invoice numbers required by auditors by using a MySQL InnoDB watermark (water level) table combined with row locking and UPSERT within a single transaction, covering the workflow, concurrency handling, rollback versus void semantics, performance trade‑offs, and applicability limits.

AuditMySQLTransaction
0 likes · 16 min read
Implementing Continuous Invoice Numbers Using a Transactional Watermark Table
Yumin Fish Harvest
Yumin Fish Harvest
Aug 15, 2026 · Backend Development

Choosing a Decentralized Distributed ID: UUIDv4 vs UUIDv7 vs ULID vs Nano ID

This article examines how traceId, eventId, and shareId differ in requirements and walks through a detailed comparison of UUIDv4, UUIDv7, ULID, and Nano ID—covering generation principles, ordering characteristics, storage impact, Java code examples, and practical guidance for selecting the right scheme.

Javadistributed IDnano-id
0 likes · 24 min read
Choosing a Decentralized Distributed ID: UUIDv4 vs UUIDv7 vs ULID vs Nano ID
Yumin Fish Harvest
Yumin Fish Harvest
Aug 13, 2026 · Databases

How to Choose Storage for Query Services: Relational DB, Search, OLAP, and Time‑Series Models

The article walks through a systematic method for selecting the right storage technology—relational OLTP, search engine, OLAP, or time‑series—based on query intent, data volume, latency tolerance, and consistency needs, using an e‑commerce “optimal store” scenario to illustrate the decision process and practical trade‑offs.

CDCOLAPread-model
0 likes · 30 min read
How to Choose Storage for Query Services: Relational DB, Search, OLAP, and Time‑Series Models
Yumin Fish Harvest
Yumin Fish Harvest
Jul 16, 2026 · Backend Development

Step 1 of DDD in Action: A Preferred Store Case Study Shows How to Apply Strategic Design

This article walks through a complete DDD strategic‑design workshop for a community‑focused retail e‑commerce system, showing how to identify business goals, split sub‑domains, decide core versus supporting domains, define bounded contexts, build a unified language, draw context maps, capture risks, and prepare review artefacts before moving to tactical design.

DDDDomain modelingStrategic Design
0 likes · 33 min read
Step 1 of DDD in Action: A Preferred Store Case Study Shows How to Apply Strategic Design
Yumin Fish Harvest
Yumin Fish Harvest
Jul 14, 2026 · Backend Development

Mastering CQRS: When to Separate Read and Write in DDD

This article explains how CQRS splits write operations that enforce business rules using domain models from read operations optimized for page performance, illustrates common pitfalls of mixing the two, and provides concrete Java code, SQL examples, migration steps, validation checklists, and best‑practice guidelines for implementing lightweight CQRS in a DDD‑based backend.

CQRSCommand Query SeparationJava
0 likes · 26 min read
Mastering CQRS: When to Separate Read and Write in DDD
Yumin Fish Harvest
Yumin Fish Harvest
Jul 10, 2026 · Backend Development

How to Layer Code with DDD: Four‑Layer Architecture, DIP & Hexagonal

This article explains why and how to separate a system into four DDD layers—User Interface, Application, Domain, and Infrastructure—illustrates the benefits of clear responsibilities, demonstrates dependency inversion and hexagonal architecture with concrete Spring Boot examples, and warns of common pitfalls.

DDDDependency InversionSpring Boot
0 likes · 10 min read
How to Layer Code with DDD: Four‑Layer Architecture, DIP & Hexagonal