HIGH-PERFORMANCE INFRASTRUCTURE
GeoIP 轻量级 IP 地理信息服务
基于 Go Kratos 框架开发,提供统一的 gRPC 与 HTTP IP 归属地查询能力,利用 S3 分发与 atomic.Value 实现内存零停机热更。
五大核心特性支撑极速查询
避免各个业务微服务重复集成和维护庞大的 IP 数据库,保证网关与核心基础服务的高并发要求。
双协议原生支持
Kratos 原生支持的 gRPC (默认 9000 端口) 与 HTTP (默认 8000 端口) API,满足不同调用场景需求。
S3 中心化分发
支持从 AWS S3 或兼容 S3 的对象存储(如 MinIO)自动拉取 IP2Location .BIN 数据库文件。
内存级无感热更
利用 Kratos 配置监听机制与 atomic.Value 原子指针交换,新库下载后实现内存级零停机无缝切换。
按需响应 (FieldMask)
支持 Protobuf FieldMask 参数按需获取指定字段,避免返回冗余 JSON,极大减轻网络序列化开销。
全流程无锁读取
请求查询全过程无互斥锁竞争,充分释放多核 CPU 算力,满足基础网关层极低延迟与超高吞吐要求。
DDD 与 Wire 规范
严格遵循领域驱动设计划分 biz/data/service,通过 Wire 依赖注入配置,避免全局变量污染。
架构实践与部署建议
立即在微服务中集成 GeoIP 查询
获取详细的 Protobuf 契约定义与 HTTP/gRPC 调用示例代码,开启高并发查询支持。