Documentation
¶
Overview ¶
Package api 实现 gRPC API 服务。
提供完整的时序数据库远程访问接口,兼容常见的时序数据库操作语义。
服务列表:
Write: 单点写入 WriteBatch: 批量写入 QueryRange: 范围查询 ListMeasurements: 枚举 Measurement CreateMeasurement: 创建 Measurement DropMeasurement: 删除 Measurement ListDatabases: 枚举数据库 CreateDatabase: 创建数据库 DropDatabase: 删除数据库 Health: 健康检查
错误处理:
所有方法在失败时返回 gRPC 错误,使用 status.Errorf 设置适当的错误码。 成功时返回带 Success=true 的响应。
使用方法:
// 服务端
service := api.New(engine)
grpcServer := grpc.NewServer()
types.RegisterMicroTSServer(grpcServer, service)
// 客户端 (使用生成的 types 包)
client := types.NewMicroTSClient(conn)
resp, err := client.Write(ctx, &types.WriteRequest{...})
Index ¶
- func ToProtoPointRow(row *types.PointRow) *types.Row
- type MicroTSService
- func (s *MicroTSService) CreateDatabase(ctx context.Context, req *types.CreateDatabaseRequest) (*types.CreateDatabaseResponse, error)
- func (s *MicroTSService) CreateMeasurement(ctx context.Context, req *types.CreateMeasurementRequest) (*types.CreateMeasurementResponse, error)
- func (s *MicroTSService) DropDatabase(ctx context.Context, req *types.DropDatabaseRequest) (*types.DropDatabaseResponse, error)
- func (s *MicroTSService) DropMeasurement(ctx context.Context, req *types.DropMeasurementRequest) (*types.DropMeasurementResponse, error)
- func (s *MicroTSService) Health(ctx context.Context, req *types.HealthRequest) (*types.HealthResponse, error)
- func (s *MicroTSService) ListDatabases(ctx context.Context, req *types.ListDatabasesRequest) (*types.ListDatabasesResponse, error)
- func (s *MicroTSService) ListMeasurements(ctx context.Context, req *types.ListMeasurementsRequest) (*types.ListMeasurementsResponse, error)
- func (s *MicroTSService) QueryRange(ctx context.Context, req *types.QueryRangeRequest) (*types.QueryRangeResponse, error)
- func (s *MicroTSService) Write(ctx context.Context, req *types.WriteRequest) (*types.WriteResponse, error)
- func (s *MicroTSService) WriteBatch(ctx context.Context, req *types.WriteBatchRequest) (*types.WriteBatchResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MicroTSService ¶
type MicroTSService struct {
types.UnimplementedMicroTSServer
// contains filtered or unexported fields
}
MicroTSService 实现 gRPC MicroTS 服务。
提供时序数据库的核心操作接口,包括写入、查询和管理功能。
字段说明:
- UnimplementedMicroTSServer: 嵌入 gRPC 生成的未实现桩,确保向前兼容
- engine: 存储引擎实例
并发安全:
gRPC 框架保证每个请求在独立 goroutine 中处理。 service 的无状态设计确保并发安全。
使用示例:
eng, _ := engine.New(&engine.Config{...})
service := api.New(eng)
grpcServer := grpc.NewServer()
types.RegisterMicroTSServer(grpcServer, service)
listener, _ := net.Listen("tcp", ":50051")
grpcServer.Serve(listener)
func New ¶
func New(eng *engine.Engine) *MicroTSService
New 创建 gRPC 服务实例。
参数:
- eng: 存储引擎实例
返回:
- *MicroTSService: 服务实例
func (*MicroTSService) CreateDatabase ¶
func (s *MicroTSService) CreateDatabase(ctx context.Context, req *types.CreateDatabaseRequest) (*types.CreateDatabaseResponse, error)
CreateDatabase 处理创建数据库请求。
参数:
- ctx: gRPC 上下文
- req: 创建请求,包含数据库名称
返回:
- *types.CreateDatabaseResponse: 创建结果
- error: 创建失败时返回 gRPC 错误
func (*MicroTSService) CreateMeasurement ¶
func (s *MicroTSService) CreateMeasurement(ctx context.Context, req *types.CreateMeasurementRequest) (*types.CreateMeasurementResponse, error)
CreateMeasurement 处理创建 Measurement 请求。
参数:
- ctx: gRPC 上下文
- req: 创建请求,包含数据库和 Measurement 名称
返回:
- *types.CreateMeasurementResponse: 创建结果
- error: 创建失败时返回 gRPC 错误
func (*MicroTSService) DropDatabase ¶
func (s *MicroTSService) DropDatabase(ctx context.Context, req *types.DropDatabaseRequest) (*types.DropDatabaseResponse, error)
DropDatabase 处理删除数据库请求。
参数:
- ctx: gRPC 上下文
- req: 删除请求,包含数据库名称
返回:
- *types.DropDatabaseResponse: 删除结果
- error: 删除失败时返回 gRPC 错误
func (*MicroTSService) DropMeasurement ¶
func (s *MicroTSService) DropMeasurement(ctx context.Context, req *types.DropMeasurementRequest) (*types.DropMeasurementResponse, error)
DropMeasurement 处理删除 Measurement 请求。
参数:
- ctx: gRPC 上下文
- req: 删除请求,包含数据库和 Measurement 名称
返回:
- *types.DropMeasurementResponse: 删除结果
- error: 删除失败时返回 gRPC 错误
func (*MicroTSService) Health ¶
func (s *MicroTSService) Health(ctx context.Context, req *types.HealthRequest) (*types.HealthResponse, error)
Health 处理健康检查请求。
参数:
- ctx: gRPC 上下文
- req: 健康检查请求(当前为空)
返回:
- *types.HealthResponse: 健康状态响应
- error: 处理失败时返回 gRPC 错误
响应字段:
- Healthy: 服务是否健康
- Version: 服务版本号
典型用途:
用于负载均衡器健康检查、Kubernetes liveness/readiness 探针。
func (*MicroTSService) ListDatabases ¶
func (s *MicroTSService) ListDatabases(ctx context.Context, req *types.ListDatabasesRequest) (*types.ListDatabasesResponse, error)
ListDatabases 处理列出数据库请求。
参数:
- ctx: gRPC 上下文
- req: 列表请求(当前为空)
返回:
- *types.ListDatabasesResponse: 数据库列表
- error: 查询失败时返回 gRPC 错误
func (*MicroTSService) ListMeasurements ¶
func (s *MicroTSService) ListMeasurements(ctx context.Context, req *types.ListMeasurementsRequest) (*types.ListMeasurementsResponse, error)
ListMeasurements 处理列出 Measurement 请求。
参数:
- ctx: gRPC 上下文
- req: 列表请求,包含数据库名称
返回:
- *types.ListMeasurementsResponse: Measurement 列表
- error: 查询失败时返回 gRPC 错误
func (*MicroTSService) QueryRange ¶
func (s *MicroTSService) QueryRange(ctx context.Context, req *types.QueryRangeRequest) (*types.QueryRangeResponse, error)
QueryRange 处理范围查询请求。
参数:
- ctx: gRPC 上下文
- req: 查询请求,包含时间范围和过滤条件
返回:
- *types.QueryRangeResponse: 查询结果
- error: 查询失败时返回 gRPC 错误
func (*MicroTSService) Write ¶
func (s *MicroTSService) Write(ctx context.Context, req *types.WriteRequest) (*types.WriteResponse, error)
Write 处理单点写入请求。
参数:
- ctx: gRPC 上下文
- req: 写入请求,包含 DataPoint
返回:
- *types.WriteResponse: 写入响应,Success=true 表示成功
- error: 处理失败时返回 gRPC 错误
func (*MicroTSService) WriteBatch ¶
func (s *MicroTSService) WriteBatch(ctx context.Context, req *types.WriteBatchRequest) (*types.WriteBatchResponse, error)
WriteBatch 处理批量写入请求。
参数:
- ctx: gRPC 上下文
- req: 批量写入请求,包含多个 DataPoint
返回:
- *types.WriteBatchResponse: 批量写入响应
- error: 处理失败时返回 gRPC 错误
Click to show internal directories.
Click to hide internal directories.