Programmer XiaoFu
Author

Programmer XiaoFu

xiaofucode.com – a programmer learning guide driven by the pursuit of profit

104
Articles
0
Likes
73
Views
0
Comments
Recent Articles

Latest from Programmer XiaoFu

100 recent articles max
Programmer XiaoFu
Programmer XiaoFu
Jun 23, 2026 · Backend Development

Why Kafka Still Delivers Out‑of‑Order Messages Even When Using the Same Key

Even though Kafka guarantees that messages with the same key land in the same partition, the article explains how producer retries, multithreaded consumer processing, and partition expansion can break ordering, and provides concrete techniques such as idempotent producers and single‑threaded consumption to preserve order.

Consumer ConcurrencyIdempotent ProducerKafka
0 likes · 10 min read
Why Kafka Still Delivers Out‑of‑Order Messages Even When Using the Same Key
Programmer XiaoFu
Programmer XiaoFu
Jun 18, 2026 · Cloud Native

Why Use Service Registration When Nginx Already Handles Load Balancing?

The article explains that Nginx’s static upstream configuration and passive health checks cannot keep up with dynamic microservice environments, while a service registry provides real‑time instance awareness, automatic failure detection, and metadata‑driven routing, making both tools complementary rather than interchangeable.

EurekaKubernetesLoad Balancing
0 likes · 9 min read
Why Use Service Registration When Nginx Already Handles Load Balancing?
Programmer XiaoFu
Programmer XiaoFu
Jun 17, 2026 · Information Security

Why JWT Requires Both Access and Refresh Tokens Instead of a Single Token

The article explains the inherent trade‑off of a single JWT’s expiration time, shows how using short‑lived Access Tokens together with long‑lived Refresh Tokens resolves both security and user‑experience issues, and provides detailed backend and frontend implementation guidance.

Access TokenAuthenticationJWT
0 likes · 11 min read
Why JWT Requires Both Access and Refresh Tokens Instead of a Single Token
Programmer XiaoFu
Programmer XiaoFu
Jun 16, 2026 · R&D Management

Why Faster AI Coding Still Leaves Developers More Exhausted

Although AI tools like Copilot and Cursor can cut coding time from five days to three, the saved time is quickly filled with additional tasks, leading to higher output expectations, increased technical debt, and greater mental fatigue for developers, as organizations reap the productivity gains without reducing individual workload.

AI toolsAutomationdeveloper productivity
0 likes · 8 min read
Why Faster AI Coding Still Leaves Developers More Exhausted
Programmer XiaoFu
Programmer XiaoFu
Jun 15, 2026 · Backend Development

Why a Simple Redis Mutex Lock Isn’t Enough for Cache Breakdown – When to Use Never‑Expire or Logical Expiration

The article analyzes why a basic Redis mutex lock can cause thread blocking, latency spikes, and service collapse under high concurrency, and compares it with logical expiration and never‑expire with proactive updates, explaining their trade‑offs and how to choose the right cache‑breakdown mitigation strategy.

CacheJavaLogical Expiration
0 likes · 12 min read
Why a Simple Redis Mutex Lock Isn’t Enough for Cache Breakdown – When to Use Never‑Expire or Logical Expiration
Programmer XiaoFu
Programmer XiaoFu
Jun 11, 2026 · Cloud Native

Why Does Feign’s 3‑Second Timeout Actually Take 10 Seconds? The Hidden Role of Ribbon

Feign may be set to a 3‑second timeout, but in Spring Cloud versions before 2020.0 the call is handled by Ribbon, whose default 5‑second read timeout and a single retry to another instance double the wait, producing a consistent 10‑second timeout; the article details this behavior and shows how to configure Ribbon, upgrade Spring Cloud, or use a circuit‑breaker to enforce the intended timeout.

Load BalancerRibbonSpring Cloud
0 likes · 8 min read
Why Does Feign’s 3‑Second Timeout Actually Take 10 Seconds? The Hidden Role of Ribbon
Programmer XiaoFu
Programmer XiaoFu
Jun 8, 2026 · Artificial Intelligence

Why Smart LLMs Still Struggle to Deploy Agents in Production

Although large language models have become more capable, deploying AI agents in production remains difficult because their probabilistic nature leads to error accumulation, testing challenges, fragile real‑world interactions, and a lack of deterministic controls, requiring strict workflows, schema validation, mock testing, and human oversight.

AI agentsLLMWorkflow
0 likes · 8 min read
Why Smart LLMs Still Struggle to Deploy Agents in Production
Programmer XiaoFu
Programmer XiaoFu
Jun 1, 2026 · Databases

Why Does an OR Between Two Indexed Columns Still Trigger a Full Table Scan?

Even though the phone and email columns each have a single‑column index, an OR condition forces MySQL's cost‑based optimizer to choose a full table scan because the estimated cost of index merge (random I/O and possible sort‑union) exceeds the cost of a sequential scan, and the article explains the underlying mechanics and practical workarounds.

MySQLOR querySQL
0 likes · 10 min read
Why Does an OR Between Two Indexed Columns Still Trigger a Full Table Scan?