假设我们有一个Search-Service
service Search {
rpc Search (SearchRequest) returns (SearchReply) {}
}
message SearchRequest {
string query = 1;
}
message SearchReply {
repeated string message = 1;
}
现在,让我们考虑一下我们应该有多个都应该实现该接口以提供搜索的搜索引擎。
我碰到的难题是gRPC只允许在单个IP:PORT对后面提供单身的Search服务。因此,在环境中集成多个搜索引擎的唯一方法是将每个搜索引擎置于不同的IP:PORT后面,不可能将它们放在同一端口上。
同一台服务器上不能有同一服务的多个实例。解决问题的方法主要有以下三种,具体取决于问题的类型:
如果“多个搜索引擎”在语义上是等效的,则无需使用单独的方法,而是使用汇总结果进行响应。
如果“多个搜索引擎”与数据有关,则在中包含另一个参数SearchRequest
,例如string dataset = 2;
。
否则,请提供单独的服务:ImageSearch
和WebSearch
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句