Apache License 2.0

项目介绍

dotnetcore/CanalSharp 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 Apache License 2.0 许可证,目前获得 594 个 Star、98 次 Fork。

仓库全名
dotnetcore/CanalSharp
开源许可证
Apache License 2.0
Star 数
594
Fork 数
98
未关闭 Issue
17

README 摘要

CanalSharp CanalSharp 是阿里巴巴开源项目 mysql 数据库 binlog 的增量订阅&消费组件 Canal 的 .NET 客户端。在数据库中,更改数据捕获(CDC)是一组软件设计模式,用于确定和跟踪已更改的数据,以便可以使用已更改的数据来采取措施,Canal 便是 mysql 数据库的一种 cdc 组件。 快速入门 安装 初始化日志 CanalSharp 使用 Microsoft.Extensions.Logging.Abstractions ,因为目前主流日志组件,如:nlog、serilog 等,全部支持此日志抽象接入,也就是说你可以通过安装 nlog、serilog 对其的适配,来使用它们,无论是 Console App 或则是 Web App。 创建连接 获取数据 支持版本 CanalSharp | Canal | 1.2.0 | 1.1.6 | Mysql 版本由 Canal 决定。 文档…

完整内容见 GitHub 原始 README 或本页 。

常见问题

CanalSharp 用什么语言开发?

主要使用 C# 编写,采用 Apache License 2.0 许可证,目前有 594 个 Star。

CanalSharp 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 CanalSharp 的源码?

可以直接克隆仓库:git clone https://github.com/dotnetcore/CanalSharp.git,默认分支为 main;安装与运行步骤见仓库 README。

CanalSharp 最近还在维护吗?

仓库最近一次更新为 1 天前,当前有 17 个未关闭 Issue;Star 数为 594,可作为社区活跃度的参考。

关于

Alibaba mysql database binlog subscription & consumer components Canal's .NET client.

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
806
价值分
386
活跃状态
活跃

语言占比

Batchfile
C#
Shell

Release

README

CanalSharp

Latest version Member project of .NET Core Community

CanalSharp 是阿里巴巴开源项目 mysql 数据库 binlog 的增量订阅&消费组件 Canal 的 .NET 客户端。在数据库中,更改数据捕获(CDC)是一组软件设计模式,用于确定和跟踪已更改的数据,以便可以使用已更改的数据来采取措施,Canal 便是 mysql 数据库的一种 cdc 组件。

快速入门

安装

Install-Package CanalSharp

初始化日志

var loggerFactory = LoggerFactory.Create(builder =>
{
    builder
        .AddFilter("Microsoft", LogLevel.Debug)
        .AddFilter("System", LogLevel.Information)
        .AddConsole();
});
var logger= loggerFactory.CreateLogger<SimpleCanalConnection>();

CanalSharp 使用 Microsoft.Extensions.Logging.Abstractions ,因为目前主流日志组件,如:nlog、serilog 等,全部支持此日志抽象接入,也就是说你可以通过安装 nlog、serilog 对其的适配,来使用它们,无论是 Console App 或则是 Web App。

创建连接

var conn=new SimpleCanalConnection(new SimpleCanalOptions("127.0.0.1",11111,1234),logger);
//连接到 Canal Server
await conn.ConnectAsync();
//订阅
await conn.SubscribeAsync();

获取数据

var msg = await conn.GetAsync(1024);

支持版本

CanalSharp Canal
1.2.0 1.1.6

Mysql 版本由 Canal 决定。

文档

Github: docs

WebSite: Canal Document (推荐)

问题反馈

请通过 Issue 向我们提交问题反馈,在提交时尽可能提供详细的信息,以便我们进行排查和解决。

贡献代码

如果你有一些好的想法,欢迎您提交 Pull Request 或者 Issue

重构进度

目前重构的版本已经完全覆盖旧版本,且性能更高,代码更优美,实现了旧版本未实现的部分功能,支持最新的 Canal。

Task Status
protobuf 3 协议生成 已完成
对接 Canal 已完成
数据订阅封装 TODO
集群支持(Service 集群和 Client 集tgi群) 已完成
数据发送到Kafka 直接通过 Canal 发送
数据发送到Redis 直接通过 Canal 发送

评论

暂无评论