目录
元数据
服务发现
元数据
元数据记录了底层数据的组织结构信息。在分布式系统中,Milvus 写节点是元数据唯一的生产者,而 Mishards 节点、Milvus 写节点和读节点都是元数据的消费者。目前版本的 Milvus 只支持 MySQL 和 SQLite 作为元数据的存储后端。
在分布式系统中,元数据的存储后端只能是 MySQL。
参数 | 是否必填 | 类型 | 默认值 | 说明 |
SQLALCHEMY_DATABASE_URI | 是 | String | 定义元数据存储的数据库地址,格式标准为 RFC-738-style。例如:mysql+pymysql://root:root@127.0.0.1:3306/milvus?charset=utf8mb4。 | |
SQL_ECHO | 否 | Boolean | False | 是否打印 SQL 详细语句。
|
服务发现
服务发现为 Mishards 提供所有 Milvus 读写节点的地址信息。Mishards 定义了相关的服务发现接口 IServiceRegistryProvider,并通过插件模式提供了扩展的可能性。目前默认提供了两种插件:KubernetesProvider 对应 Kubernetes 集群;StaticProvider 对应静态配置。你可以仿照这两种插件的实现,定制自己的服务发现插件。
参数 | 是否必填 | 类型 | 默认值 | 说明 |
DISCOVERY_STATIC_HOSTS | 否 | List | [] | DISCOVERY_CLASS_NAME 为 static 时,定义服务地址列表。列表中的地址以逗号隔开,例如 192.168.1.188,192.168.1.190。 |
DISCOVERY_STATIC_PORT | 否 | Integer | 19530 | DISCOVERY_CLASS_NAME 为 static 时,定义服务地址监听端口。 |
DISCOVERY_PLUGIN_PATH | 否 | String | 用户自定义服务发现插件的搜索路径,默认使用系统搜索路径。 | |
DISCOVERY_CLASS_NAME | 否 | String | static | 在插件搜索路径下,根据类名搜索类,并将其实例化。目前系统提供 static 和 kubernetes 两种类,默认使用 static。 |
DISCOVERY_KUBERNETES_NAMESPACE | 否 | String | DISCOVERY_CLASS_NAME 为 kubernetes 时,定义 Milvus 集群的 namespace。 | |
DISCOVERY_KUBERNETES_IN_CLUSTER | 否 | Boolean | False | DISCOVERY_CLASS_NAME 为 kubernetes 时,选择服务发现是否在集群中运行。 |
DISCOVERY_KUBERNETES_POLL_INTERVAL | 否 | Integer | 5 | DISCOVERY_CLASS_NAME 为 kubernetes 时,定义服务发现监听周期(单位:秒)。 |
DISCOVERY_KUBERNETES_POD_PATT | 否 | String | DISCOVERY_CLASS_NAME 为 kubernetes 时,匹配 Milvus Pod 名字的正则表达式。 | |
DISCOVERY_KUBERNETES_LABEL_SELECTOR | 否 | String | SD_PROVIDER 为 kubernetes 时,匹配 Milvus Pod 的标签,例如:tier=ro-servers。
|