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

FutureElement 发布于 2017/10/23 09:33
阅读 905
收藏 0

开源软件供应链点亮计划,等你来!>>>

    我知道单一应用项目做分布式,做水平扩展,就是直接复制项目实例,用一定的负载分发机制代理请求,比如用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是否只不能重复?具体结构是怎么样的?

加载中
0
陌简曦
陌简曦

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

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部