<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>扩展性 on PlumePHP</title><link>https://plumephp.com/tags/%E6%89%A9%E5%B1%95%E6%80%A7/</link><description>Recent content in 扩展性 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 13 Aug 2026 14:05:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E6%89%A9%E5%B1%95%E6%80%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>05. 一致性哈希与数据分片</title><link>https://plumephp.com/consistent-hashing-sharding/</link><pubDate>Thu, 13 Aug 2026 14:05:00 +0800</pubDate><guid>https://plumephp.com/consistent-hashing-sharding/</guid><description>&lt;p&gt;分布式系统处理海量数据时，必须通过分片 (Sharding) 将数据分散到多个节点。一致性哈希解决了传统 Hash 取模在节点增减时的大量数据迁移问题。&lt;/p&gt;
&lt;h2 id="1-传统-hash-分片的问题"&gt;1. 传统 Hash 分片的问题&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;传统方式: node = hash(key) % N

N=3 时:
 hash(key) % 3 = 0 → Node0
 hash(key) % 3 = 1 → Node1
 hash(key) % 3 = 2 → Node2

新增 Node3 (N=4):
 原来 75% 的数据需要重新映射！
 hash(key) % 4 和 hash(key) % 3 结果不同的概率 = 3/4
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;问题&lt;/strong&gt;：节点数量变化时，几乎所有数据都需要迁移，成本极高。&lt;/p&gt;</description></item><item><title>Go 插件系统与动态加载：从 plugin 包到 WASM 扩展的完整方案</title><link>https://plumephp.com/120-go-plugin-system/</link><pubDate>Thu, 13 Aug 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/120-go-plugin-system/</guid><description>&lt;h2 id="go-插件需求场景可扩展架构的核心需求"&gt;Go 插件需求场景：可扩展架构的核心需求&lt;/h2&gt;
&lt;p&gt;在构建大型服务或框架时，可扩展性（Extensibility）是一个绕不开的话题。无论是日志系统、监控告警、数据处理器，还是微服务网关，开发者都希望在不重新编译主程序的前提下，引入新的功能或行为。插件系统（Plugin System）正是解决这一需求的典型方案。&lt;/p&gt;</description></item></channel></rss>