gpt4 book ai didi

grpc - 使用 gRPC 服务定义作为多个实例的接口(interface)

转载 作者:行者123 更新时间:2023-12-05 01:38:04 27 4
gpt4 key购买 nike

假设我们有一个 Search-Service

service Search {
rpc Search (SearchRequest) returns (SearchReply) {}
}

message SearchRequest {
string query = 1;
}

message SearchReply {
repeated string message = 1;
}

现在,让我们考虑多个搜索引擎,它们都应该实现该接口(interface)以提供搜索。

我遇到的问题是 gRPC 只允许单个 IP:PORT 对后面的搜索服务单例。因此,在一个环境中集成多个搜索引擎的唯一方法是将每个搜索引擎放在不同的 IP:PORT 后面,不可能将它们放在同一个端口上。

最佳答案

您不能在同一台服务器上拥有同一服务的多个实例。解决问题的方法主要有以下三种,具体取决于问题的类型:

  • 合并结果
  • 包含请求参数
  • 使用不同的服务名称

  • 如果“多个搜索引擎”在语义上是等效的,则不需要单独的方法,而是以聚合结果进行响应。

    如果“多个搜索引擎”依赖于数据,则在 SearchRequest 中包含另一个参数,如 string dataset = 2; .

    否则单独服务: ImageSearchWebSearch .

    关于grpc - 使用 gRPC 服务定义作为多个实例的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46359128/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com