queryCoord的balancer分析

简介: queryCoord的balancer分析

queryCoord的balancer分析

milvus版本:v2.3.2

涉及到一个参数设置:

queryCoord.balancer = ScoreBasedBalancer

milvus内置的balancer有3种:

代码位置:internal\querycoordv2\balance\balance.go

var (
    RoundRobinBalancerName    = "RoundRobinBalancer"
    RowCountBasedBalancerName = "RowCountBasedBalancer"
    ScoreBasedBalancerName    = "ScoreBasedBalancer"
)

Balance接口:

type Balance interface {
   
    AssignSegment(collectionID int64, segments []*meta.Segment, nodes []int64) []SegmentAssignPlan
    AssignChannel(channels []*meta.DmChannel, nodes []int64) []ChannelAssignPlan
    BalanceReplica(replica *meta.Replica) ([]SegmentAssignPlan, []ChannelAssignPlan)
}

这个接口有3个实现。

ScoreBasedBalancer、RoundRobinBalancer、RowCountBasedBalancer。

func (controller *CheckerController) check(ctx context.Context, checkerType string) {
   
    checker := controller.checkers[checkerType]
    tasks := checker.Check(ctx)

    for _, task := range tasks {
   
        err := controller.scheduler.Add(task)
        if err != nil {
   
            task.Cancel(err)
            continue
        }
    }
}

checker.Check()有4个实现,会调用AssignSegment、AssignChannel、BalanceReplica方法。

目录
相关文章
|
消息中间件 监控 Java
图解Kafka线程模型及其设计缺陷
图解Kafka线程模型及其设计缺陷
图解Kafka线程模型及其设计缺陷
|
Go API 数据库
milvus的db和collection信息查询
milvus的db和collection信息查询
1840 0
|
开发工具 Python
milvus的delete操作
milvus的delete操作
1917 0
|
12月前
|
存储 JSON 供应链
别踩分页坑!京东商品详情接口实战指南:从并发优化到数据完整性闭环(附多规格解析技巧)
京东商品详情接口(jingdong.ware.get)是电商数据开发的核心难点,本文详解其权限申请、分页优化、多规格递归解析与完整性校验等实战方案,结合代码示例与性能调优参数,助你高效稳定对接,提升数据获取效率2.5倍以上,适用于各类规模店铺的数据需求。
|
人工智能 缓存 NoSQL
Redis 与 AI:从缓存到智能搜索的融合之路
Redis 已从传统缓存系统发展为强大的 AI 支持平台,其向量数据库功能和 RedisAI 模块为核心,支持高维向量存储、相似性搜索及模型服务。文章探讨了 Redis 在实时数据缓存、语义搜索与会话持久化中的应用场景,并通过代码案例展示了与 Spring Boot 的集成方式。总结来看,Redis 结合 AI 技术,为现代应用提供高效、灵活的解决方案。
|
存储 NoSQL Java
Tablestore集成MCP协议: 标量与向量混合检索的新范式
基于表格存储(Tablestore)实现的MCP(Model Context Protocol)服务,支持文档存储与混合检索工具两大功能。通过Cherry-Studio界面和通义千问qwen-max模型进行演示,展示了文本数据上传、向量嵌入及查询过程。此外,详细说明了Python和Java版本的本地运行步骤、环境配置及二次开发方法,并提供了集成三方工具如Cherry Studio的应用示例。Tablestore凭借混合查询、Serverless低成本、弹性扩展等优势,为MCP场景提供高效解决方案。
1357 3
|
JSON NoSQL Redis
Redis 作为向量数据库快速入门指南
Redis 作为向量数据库快速入门指南
2682 1
|
存储 负载均衡 Cloud Native
【专栏】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称
【4月更文挑战第28天】Minio是一款高性能分布式对象存储服务,以其易用性和可扩展性著称,适用于存储多媒体内容。通过组建Minio集群,可实现高可用性、高性能、可扩展性和数据保护。搭建集群包括安装Minio、配置集群参数、启动节点、验证集群状态、设置访问权限及可选的数据迁移步骤。Minio集群是实现可靠且高性能存储解决方案的理想选择,适合各种应用场景。
1153 0
|
对象存储
milvus的compaction分析(小文件合并大文件)
milvus的compaction分析(小文件合并大文件)
1652 0
|
人工智能 算法 Cloud Native
向量数据库小白必关注的“扫盲贴”来啦
自从ChatGPT问世以来,大语言模型受到广泛关注。但大模型更新频率低且不擅长垂直领域知识,向量数据库恰好可以与之互补,通过Retrieval Plugin为大模型和企业私有数据构建了一座桥梁,成为数据面向大模型的切入口。不过,你真的了解向量吗?什么又是向量数据库呢?向量检索的原理又是什么呢?向量爱好者们速速上车,跟着小编一起开启“向量探索之旅”吧!
5666 4
向量数据库小白必关注的“扫盲贴”来啦