服务发现指南¶
仓库中包含一套基于 Redis 的服务发现与 HTTP 调用工具。
核心组件¶
| 组件 | 位置 | 描述 |
|---|---|---|
ServiceRegistry |
src/by_framework/core/discovery.py |
服务注册与心跳 |
DiscoveryClient |
src/by_framework/core/discovery.py |
带缓存的服务发现与负载均衡 |
DiscoveryHttpClient |
src/by_framework/util/discovery_http_client.py |
结合服务发现的 HTTP 重试与节点切换 |
ServiceRegistry¶
服务注册中心,负责管理服务的注册与心跳。
from by_framework.core.discovery import ServiceRegistry
registry = ServiceRegistry(redis_client=redis)
await registry.register("my-service", "http://192.168.1.100:8080")
await registry.heartbeat("my-service", "http://192.168.1.100:8080")
DiscoveryClient¶
带缓存的服务发现客户端:
from by_framework.core.discovery import DiscoveryClient
discovery = DiscoveryClient(redis_client=redis, cache_ttl=30)
endpoints = await discovery.discover("my-service")
# 返回可用的服务节点列表
DiscoveryHttpClient¶
结合服务发现的 HTTP 客户端,支持自动重试与节点切换: