Ein detaillierter chinesischer Engineering-Blogbeitrag zerlegt die Architektur hinter einer „Personen in der Nähe“-Funktion, die für Apps mit zig Millionen täglich aktiven Nutzern entwickelt wurde. Der Kern der Lösung basiert auf Redis-Geo-Befehlen (GEOADD, GEORADIUS) in Kombination mit GeoHash-Kodierung, um räumliche Abfragen im Millisekundenbereich zu erreichen. Um extreme Skalierung zu bewältigen, schlägt der Autor eine zweistufige Sharding-Strategie vor: zuerst nach Stadt, dann nach einem Rastersystem innerhalb jeder Stadt, um sicherzustellen, dass keine einzelne Redis-Instanz zum Engpass wird. Der Artikel behandelt auch praktische Herausforderungen wie dynamische Radiusanpassung basierend auf Benutzerdichte, Anti-Crawler-Maßnahmen und Datenkonsistenz über Shards hinweg. Dies ist kein Anfänger-Tutorial, sondern eine produktionsreife Referenz für leitende Ingenieure und Architekten, die mit LBS in großem Maßstab arbeiten.
Dieser Artikel bietet eine umfassende Architektur für eine „Personen in der Nähe“-Funktion für Millionen von täglich aktiven Nutzern unter Verwendung von Redis Geo (GeoHash + ZSET) und City-Grid-Sharding.