返回介绍

数据存储扩展

发布于 2023-10-10 23:52:03 字数 1577 浏览 0 评论 0 收藏 0

SkyWalking 已经提供了多种存储解决方案. 在本文档中, 您可以学习如何轻松实现新存储.

定义您的存储提供者

  1. 定义一个类扩展 org.apache.skywalking.oap.server.library.module.ModuleProvider
  2. 设置这个提供者为存储模块。
@Override
public Class<? extends ModuleDefine> module() {
    return StorageModule.class;
}

实现所有的 DAOs

下面是所有数据存储所需实现的 DAO 接口

  • IServiceInventoryCacheDAO
  • IServiceInstanceInventoryCacheDAO
  • IEndpointInventoryCacheDAO
  • INetworkAddressInventoryCacheDAO
  • IBatchDAO
  • StorageDAO
  • IRegisterLockDAO
  • ITopologyQueryDAO
  • IMetricsQueryDAO
  • ITraceQueryDAO
  • IMetadataQueryDAO
  • IAggregationQueryDAO
  • IAlarmQueryDAO
  • IHistoryDeleteDAO
  • IMetricsDAO
  • IRecordDAO
  • IRegisterDAO
  • ILogQueryDAO
  • ITopNRecordsQueryDAO

注册所有的 service 实现

public void prepare() 方法中, 使用 this#registerServiceImplementation 方法去注册绑定您的接口实现.

样例

org.apache.skywalking.oap.server.storage.plugin.elasticsearch.StorageModuleElasticsearchProviderorg.apache.skywalking.oap.server.storage.plugin.jdbc.mysql.MySQLStorageProvider 是一个好的例子.

重新发布新的数据存储实现

您不必为了实现数据存储而克隆主托管库, 您可以轻松地依赖我们的 Apache 发布版本. 看一下 OpenSkywalking/SkyWalking-With-Es5x-Storage 仓库, SkyWalking v6 重新发布 ElasticSearch 5 TCP 链接数据存储的实现.

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文