2017-08-07 152 views
0

是否可以将服务作为参数传递给Thrift中另一个服务中的方法?将Thrift服务作为参数传递

service MyService { 
    void foo(1: MyOtherService), 
} 

service MyOtherService { 
    void bar(), 
} 
+0

[Thrift异步函数中的回调?]的可能重复(https://stackoverflow.com/questions/2554999/callbacks-in-thrift-asynchronous-functions) – JensG

回答

0

服务不是节俭序列化(换句话说:没有意义的经由网络发送服务 - 将与发送参数远程机器上执行你FOO功能)。

我认为不是

什么是真正的目标? 我有直觉你想要好的OO模式。 这是一种参数化吗?

+0

E.g. gRPC/protobuf提供内置的流媒体,可以是一种用例。如果您以适当的方式设计API,它可以用Thrift来模拟 – JensG

+0

目标是允许部分服务以不同语言实现。服务将取决于方法的签名,但不取决于它们的实现。但是,在原生Thrift中这似乎不可行。 – ashwin153

+0

0.同意签名!=实现。 1. Thfit解决方案完全可以采用混合语言,但是...... 2.每个管道都有两端。我知道您希望两个(部分)服务在同一端在另一端的社区工作。问题:来自同一个世界的不同语言,f.e. Java /,NET?这将是非常简单的 –