`
wu.sheng
  • 浏览: 65828 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SkyWalking 2.0-2016新架构预览

阅读更多

      2016年10月11日,在SkyWalking的首页(https://github.com/wu-sheng/sky-walking)上,第一次放出了全新2.0版本的架构图。2.0版本的核心目标是,在功能完善的情况下,移除对于Hadoop,HBase的依赖,降低部署和运维难度。2.0版本将在本月底启动正式的开发迭代工作。

      在这里,首先介绍一下我们新的分布式架构


  • 构建基于路由和存储的Skywalking数据存储中心集群,这个集群分为两个子集群:路由子集群和存储子集群
  • 路由子集群,有些类似之前的SkyWalking-server,但是会更高效的处理数据,对外使用基于grpc 1.0.0(netty + protobuf 3.0)协议。处理数据包的解包、数据分析、告警、路由。不同于SkyWalking-server,Routing Sub Cluster不再会产生本地缓存文件,完成使用内存和多线程进行处理。此集群节点是完全无状态,可以水平扩展。
  • 存储子集群,用更简单的集群模式,代替之前HBase的功能。每个节点通过向ZooKeeper注册,实现节点的动态增减。每个节点保存自身的数据,数据文件包括三类:原始数据文件、HyperSQL索引文件、HyperSQL分析结果文件。每种类型的文件都是大量的子文件集合,用于每个节点可以存储GB到TB级的数据。

数据节点宕机,如果保证集群稳定工作?

        路由子集群使用简单hash路由规则,根据调用连的入口viewpoint的hash值进行路由。在存储子集群节点数量不变的情况,一类调用链会路由到一个存储节点上。当放生存储节点fail down或者动态增加存储结果,hash路由规则会改变路由状态。此时一类调用链可能会路由到另一节点,则此时,元数据和分析数据,由此时间点开始划分,存在于两个不同节点中。随着时间推移,可能存在更多的节点上。

       

数据节点增减,数据查询是否出问题?

       为了应对上述情况造成的数据离散问题,同时避免大量的数据迁移,路由节点对于查询操作,提供全区路由的功能。即:向每一个活跃的数据节点发送查询请求,并合并返回结果。

       由于查询属于低频操作,采用这种方法,代替复杂的数据迁移机制。

 

是否提供数据节点的主从机制和副本机制?

       在2.0-2016这个2.0的第一个版本中,将不提供此功能。即在存储节点宕机时,集群可以稳定工作,但无法查询到宕机节点上存储的数据。

       同时由于全局路由的存在,这个机制会在后续版本很快加入。

  • 大小: 368.1 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics