返回信息流最近使用Dubbo,发现它的原理是服务端去配置中心注册服务,然后客户端启动的时候注册中心将它锁订阅的服务的地址主动推到客户端的,可是我之前使用过grpc和thrift,他们好像是没有注册中心的,而是通过生成工具将IDL语言生成client和server,通过stub负责序列化和网络传输,求问这种方式他们是如何存储服务的地址和端口号的?
这是一条镜像帖。来源:北邮人论坛 / java / #56967同步于 2017/8/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
关于几种rpc框架的比较求教!!
upupup123
2017/8/5镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
dubbo不只是一个RPC框架,它是一个微服务治理框架,具有服务发现的能力
thrift只是解决rpc调用问题,本身不具备服务发现的能力,但是可以自己实现一个服务发现的组件,例如zookeeper
非常感谢你的回答~另外想问一下,thrift在我不用zk这些配置中心的情况下 client stub是怎么找到服务的地址的呢 是自己配置好的?以前用thrift都是在别人配好的情况下直接写的,现在突然想起来感觉不知道thrift是怎么调用的了。
【 在 ml3615556 的大作中提到: 】
: dubbo不只是一个RPC框架,它是一个微服务治理框架,具有服务发现的能力
: thrift只是解决rpc调用问题,本身不具备服务发现的能力,但是可以自己实现一个服务发现的组件,例如zookeeper
:
我没用过thrift做开发,不能回答你的问题
没有注册中心,只能通过配置文件发现服务地址(一般不会这么用),从而实例化socket连接,封装为thrift自己的组件吧
rpc调用过程几乎所有的方案都大同小异,你可以上网搜一下
【 在 upupup123 的大作中提到: 】
: 非常感谢你的回答~另外想问一下,thrift在我不用zk这些配置中心的情况下 client stub是怎么找到服务的地址的呢 是自己配置好的?以前用thrift都是在别人配好的情况下直接写的,现在突然想起来感觉不知道thrift是怎么调用的了。
: :
好的呢 谢谢啦
【 在 ml3615556 的大作中提到: 】
: 我没用过thrift做开发,不能回答你的问题
:
: 没有注册中心,只能通过配置文件发现服务地址(一般不会这么用),从而实例化socket连接,封装为thrift自己的组件吧
【 在 huangfs 的大作中提到: 】
: thrift 调用的时候应该是要带上server地址的。 当然也可以自己封装好服务发现。
是的~刚发现,客户端是要建立连接的
var connection = thrift.createConnection("localhost", 9090, {
transport : transport,
protocol : protocol
});
正解,用Python实现过 thrift连接池,注册服务也是用zookeeper来做的
【 在 ml3615556 的大作中提到: 】
: dubbo不只是一个RPC框架,它是一个微服务治理框架,具有服务发现的能力
: thrift只是解决rpc调用问题,本身不具备服务发现的能力,但是可以自己实现一个服务发现的组件,例如zookeeper