分布式水平扩展是什么样的结构,zookeeper等到底是如何治理服务的?

发布于 2021-12-07 02:59:46 字数 737 浏览 717 评论 1

    我知道单一应用项目做分布式,做水平扩展,就是直接复制项目实例,用一定的负载分发机制代理请求,比如用nginx+多台tomcat的形式,每台tomcat部署相同的项目,使用redis管理session,保证session的一致性。

    但是现在单一应用慢慢无法满足项目的需求,缺点这里就不介绍了,于是有了微服务架构,有了rpc,resful等soa的方式,如将单一应用拆分为多个服务,使用dubbo +zookeeper 的方式进行管理。

    我的问题是,无论是dubbo还是motan这类rpc框架,都能将单个服务注册到多个zookeeper实例上,如下:

<motan:registry regProtocol="zookeeper" name="my_zookeeper" 
address="127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"/>

<motan:service interface="quickstart.FooService" ref="serviceImpl" 
registry="my_zookeeper" export="8002" />

那么这样就算水平扩展了吗?只用扩展多个zookeeper实例?还是服务也要构建多个实例?相同服务注册到zookeeper是否只不能重复?具体结构是怎么样的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋意浓 2021-12-07 14:47:58

服务的高可用是通过zk来协调的; zk本身也需要高可用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文