Skip to content

Commit 4f16b2e

Browse files
committed
update readme
1 parent c698213 commit 4f16b2e

File tree

6 files changed

+77
-16
lines changed

6 files changed

+77
-16
lines changed

README.md

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,58 @@
1-
# canal-client-csharp
2-
[![Build Status](https://travis-ci.org/CanalSharp/CanalSharp.svg?branch=dev)](https://travis-ci.org/CanalSharp/CanalSharp)
31

4-
The .NET canal client for Alibaba canal https://github.com/alibaba/canal
2+
# CanalSharp
3+
4+
## 一.CanalSharp是什么?
5+
6+
CanalSharp 是阿里巴巴开源项目 Canal 的 .NET 客户端。为 .NET 开发者提供一个更友好的使用 Canal 的方式。Canal 是mysql数据库binlog的增量订阅&消费组件。
7+
8+
基于日志增量订阅&消费支持的业务:
9+
10+
1. 数据库镜像
11+
2. 数据库实时备份
12+
3. 多级索引 (卖家和买家各自分库索引)
13+
4. search build
14+
5. 业务cache刷新
15+
6. 价格变化等重要业务消息
16+
17+
关于 Canal 的更多信息请访问 https://github.com/alibaba/canal
18+
19+
## 二.如何使用
20+
21+
1.安装Canal
22+
23+
Canal的安装以及配置使用请查看 https://github.com/alibaba/canal
24+
25+
2.建立一个.NET Core App项目
26+
27+
3.为该项目从 Nuget 安装 CanalSharp
28+
29+
````shell
30+
Install-Package CanalSharp.Client
31+
````
32+
33+
4.建立与Canal的连接
34+
35+
````csharp
36+
//canal 配置的 destination,默认为 example
37+
var destination = "example";
38+
//创建一个简单CanalClient连接对象(此对象不支持集群)传入参数分别为 canal地址、端口、destination、用户名、密码
39+
var connector = CanalConnectors.NewSingleConnector("127.0.0.1", 11111, destination, "", "");
40+
//连接 Canal
41+
connector.Connect();
42+
//订阅,同时传入Filter,如果不传则以Canal的Filter为准。Filter是一种过滤规则,通过该规则的表数据变更才会传递过来
43+
connector.Subscribe("");
44+
//获取消息并且需要发送Ack表示消费成功
45+
connector.Get(batchSize);
46+
//获取消息但是不需要发送Ack来表示消费成功
47+
connector.GetWithoutAck(batchSize);
48+
````
49+
50+
更多详情请查看 Sample
51+
52+
## 三.贡献代码
53+
54+
1.fork本项目
55+
56+
2.做出你的更改
57+
58+
3.提交 pull request

build/package.props

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<Project>
22
<PropertyGroup Label="Package">
3-
<Description>C# client for canal. https://github.com/alibaba/canal</Description>
43
<Copyright></Copyright>
5-
<PackageLicenseUrl>https://github.com/Canal4Net/Canal4Net/blob/master/LICENSE</PackageLicenseUrl>
6-
<PackageProjectUrl>https://github.com/Canal4Net/Canal4Net</PackageProjectUrl>
7-
<RepositoryUrl>https://github.com/Canal4Net/Canal4Net.git</RepositoryUrl>
4+
5+
<Description>阿里巴巴mysql数据库binlog的增量订阅/消费组件 Canal 的 .NET 客户端</Description>
6+
<PackageLicenseUrl>https://github.com/CanalSharp/CanalSharp/blob/dev/LICENSE</PackageLicenseUrl>
7+
<PackageProjectUrl>https://github.com/CanalSharp/CanalSharp</PackageProjectUrl>
8+
<RepositoryUrl>https://github.com/CanalSharp/CanalSharp.git</RepositoryUrl>
89
<RepositoryType>git</RepositoryType>
910
<PackageTags>canal;mysql;binlog</PackageTags>
10-
<Company>Canal4Net Org.</Company>
11-
<Authors>stulzq,WithLin</Authors>
11+
<Company>CanalSharp Org.</Company>
12+
<Authors>stulzq,WithLin,CanalSharp</Authors>
1213
</PropertyGroup>
1314
</Project>

sample/CanalSharp.SimpleClient/Program.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,17 @@ class Program
1111
{
1212
static void Main(string[] args)
1313
{
14+
//canal 配置的 destination,默认为 example
1415
var destination = "example";
16+
//创建一个简单CanalClient连接对象(此对象不支持集群)传入参数分别为 canal地址、端口、destination、用户名、密码
1517
var connector = CanalConnectors.NewSingleConnector("127.0.0.1", 11111, destination, "", "");
18+
//连接 Canal
1619
connector.Connect();
17-
connector.Subscribe();
20+
//订阅,同时传入Filter,如果不传则以Canal的Filter为准。Filter是一种过滤规则,通过该规则的表数据变更才会传递过来
21+
connector.Subscribe("");
1822
while (true)
1923
{
24+
//获取消息数据
2025
var message = connector.Get(5000);
2126
var batchId = message.Id;
2227
if (batchId == -1 || message.Entries.Count <= 0)

src/CanalSharp.Client/CanalSharp.Client.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
2-
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<Import Project="../../build/common.props" />
33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
55
</PropertyGroup>
66

7+
78
<ItemGroup>
89
<PackageReference Include="DotNetty.Codecs.Protobuf" Version="0.5.0" />
910
</ItemGroup>

src/CanalSharp.Common/CanalSharp.Common.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
2-
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<Import Project="../../build/common.props" />
33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
55
</PropertyGroup>

src/CanalSharp.Protocol/CanalSharp.Protocol.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
2-
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<Import Project="../../build/common.props" />
33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
55
</PropertyGroup>

0 commit comments

Comments
 (0)