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的第一个版本中,将不提供此功能。即在存储节点宕机时,集群可以稳定工作,但无法查询到宕机节点上存储的数据。
同时由于全局路由的存在,这个机制会在后续版本很快加入。
相关推荐
apache-skywalking-java-agent-8.9.0 主要监控 jvm 服务
apache-skywalking-apm-es7-8.5.0.tar.gz
SkyWalking适用于分布式系统的应用程序性能监控工具,专为微服务、云原生和基于容器 (Kubernetes) 的架构而设计。 SkyWalking在8.8.0版本以后将agent进行了单独拆分,因此...apache-skywalking-java-agent-8.15.0.tgz
skywalking的如下版本apache-skywalking-apm-bin-es7.rar skywalking的如下版本apache-skywalking-apm-bin-es7.rar skywalking的如下版本apache-skywalking-apm-bin-es7.rar skywalking的如下版本apache-skywalking-...
apache-skywalking-apm-es7-8.7.0.tar.gz
apache-skywalking-java-agent-8.8.0.tgz apache-skywalking-java-agent-8.9.0.tgz apache-skywalking-java-agent-8.10.0.tgz apache-skywalking-java-agent-8.11.0.tgz apache-skywalking-java-agent-8.12.0.tgz ...
apache skywalking apm apache-skywalking-apm-8.5.0.tar.gz apache-skywalking-apm 8.5.0
最新版 apache-skywalking-apm-es7-8.2.0.tar.gz
apache-skywalking-apm-incubating-6.0.0-beta.tar.gz
skywalking-agent-java-8.3.0
skywalking es7 tar包。 apache-skywalking-apm-es7-8.0.1.tar
apache-skywalking-apm-6.6.0.tar可以监控全链路的工具,端口是8080,可以用来做监控
skywalking-client-js运行时库位于 。 npm install skywalking-client-js --save 快速开始 skywalking-client-js需要SkyWalking 8.2+ 用户可以使用register方法自动加载和报告数据。 import ClientMonitor from '...
apache-skywalking-java-agent-8.13.0 apache-skywalking-apm-9.0.0 目前市面上开源的APM系统主要有CAT、Zipkin、Pinpoint、SkyWalking,大都是参考Google的Dapper实现的. Skywalking是本土开源的基于字节码注入的...
SkyWalking ,它是一款优秀的国产 APM 工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。
skywalking安装包 skywalking-es7-8.7.0
apache-skywalking-apm-bin-es7.zip
随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个...
apache-skywalking-apm-bin-es7-8.3.0-upload.zip
apache-skywalking-apm-bin.rar