LinkedIn Norbert是简化集群管理的库包

14-07-02 banq
Norbert是LinkedIn贡献的一个简化集群管理和负载分发的开源库包。它能让你通过一个简单客/服架构来实现处理高负载的高伸缩扩展架构。

它是使用Scala实现, 包装了 ZooKeeper 和Netty ,使用Protocol Buffers来传递数据,提供了Java API以及支持一些可插入路由策略。

Norber定位于将复杂和细节对使用者隐藏。

提供了群组管理, Norbert更易于在集群中增加和删除服务节点或改变配置。

使用的软负载平衡来分区工作负载,提供异步的RPC和消息通知。

Norbert 使用zookeeper作为群组管理,客户端和服务器端联系通过zookeeper 来实现集群配置的改变。Zookeeper确保Norbert能获得精确的一致的集群信息,将用户从复杂集群管理中解放出来。

在从一个集中式计算到集群服务模式转换中,你必须决定如何分发工作负载。首先,你需要选择一个分区空间,如根据member Id, 将工作负载分布到这些分区空间上。下一步,你能选择一个负载平衡策略。Norbert 当前使用Protocol Buffers 作为系统内部的序列化策略, Netty 用于提供快速的NIO.

[该贴被banq于2014-07-02 09:21修改过]


猜你喜欢