Elastic.Channels 0.7.0
前缀已保留
dotnet add package Elastic.Channels --version 0.7.0
NuGet\Install-Package Elastic.Channels -Version 0.7.0
该命令旨在在Visual Studio的包管理器控制台中使用,因为它使用NuGet模块的安装-Package版本。
<PackageReference Include="Elastic.Channels" Version="0.7.0" />
对于支持PackageReference的项目,请将此XML节点复制到项目文件中以引用该包。
paket add Elastic.Channels --version 0.7.0
NuGet团队不提供对该客户端的支持。请联系其维护者以获取支持。
#r "nuget: Elastic.Channels, 0.7.0"
#r指令可用于F# Interactive和Polyglot Notebooks。将此内容复制到交互工具或脚本的源代码中,以引用包。
// Install Elastic.Channels as a Cake Addin #addin nuget:?package=Elastic.Channels&version=0.7.0 // Install Elastic.Channels as a Cake Tool #tool nuget:?package=Elastic.Channels&version=0.7.0
NuGet团队不提供对该客户端的支持。请联系其维护者以获取支持。
Elastic.Channels
提供了一种专门的System.Threading.Channels.ChannelWriter
实现,使得批量消费推送到该线程的数据变得容易。
批处理将在达到一定最大值或批次的生命周期超过一定年龄时发出。
这允许以相同的方式推送不同速率的数据,同时可以实施不同的实现来将批处理数据发送给接收器。
此包主要作为核心库以及抽象类提供,不提供任何有用的实现。
它包含一个NoopBufferedChannel
实现,该实现在其单元测试和基准测试目的的` exposImport 实现`中不执行任何操作。
BufferedChannelBase<>
一个抽象类,要求实现者实现
protected abstract Task<TResponse> Export(IReadOnlyCollection<TEvent> buffer, CancellationToken ctx);
任何实现都允许通过以下方式将其数据推送到它
var e = new TEvent();
if (await channel.WaitToWriteAsync(e))
written++;
ChannelOptionsBase<>
BufferedChannelBase<>
的实现者必须创建自己的ChannelOptionsBase<>
实现。这样,每个通道实现都会创建一个适当命名的选项类。
简单的最小实现
public class Event { }
public class Response { }
public class NoopChannelOptions
: ChannelOptionsBase<Event, Response> { }
public class NoopBufferedChannel
: BufferedChannelBase<NoopChannelOptions, Event, Response>
{
public NoopBufferedChannel(NoopChannelOptions options)
: base(options) { }
protected override Task<Response> Export(IReadOnlyCollection<NoopEvent> buffer, CancellationToken ctx)
{
return Task.FromResult(new Response());
}
}
现在一旦我们实例化了一个 NoopBufferedChannel
,我们就可以用它推送数据。
var e = new Event();
if (await noopChannel.WaitToWriteAsync(e))
written++;
为了测试或调试目的,既存在 NoopBufferedChannel
,也存在更专门的 DiagnosticsBufferedChannel
。
DiagnosticsBufferedChannel.ToString()
揭示了大量关于状态机的见解。
缓冲区选项
每个 ChannelOptionsBase<>
实现都会接收并公开一个 BufferOptions
实例。这控制了 BufferedChannelBase<>
的缓冲行为。
选项 | 描述 |
---|---|
InboundBufferMaxSize |
可以在内存中队列的最大飞行实例数。如果达到此阈值,事件将被丢弃 |
OutboundBufferMaxSize |
本地缓冲区应达到的事件数,在单个调用中将事件发送到 Elasticsearch 前 |
OutboundBufferMaxLifetime |
缓冲区刷新前的最大年龄 |
ExportMaxConcurrency |
控制多少个并发 Export 操作可以发生 |
ExportMaxRetries |
在 Export 上最大重试次数 |
ExportBackOfPeriod |
计算重试的适当退避时间的函数 |
ExportBufferCallback |
每当缓冲区刷新时调用一次,不包括重试 |
WaitHandle |
注入一个 waitHandle,在每次刷新(不包括重试)后发出信号 |
产品 | 版本 兼容的以及额外的计算目标框架版本。 |
---|---|
.NET | net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET 标准版 | netstandard2.0 兼容。 netstandard2.1 兼容。 |
.NET 框架 | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- System.Buffers (>= 4.5.1)
- System.Threading.Channels (>= 4.7.1)
-
.NETStandard 2.1
- System.Threading.Channels (>= 4.7.1)
NuGet 包 (1)
显示依赖于 Elastic.Channels 的前 1 个 NuGet 包
包 | 下载 |
---|---|
Elastic.Ingest.Transport 提供组件,用于通过 Elastic.Transport 通过 HTTP 向分布式系统发布事件 |
GitHub 仓库
此包没有被任何流行的GitHub仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
0.7.0 | 132,669 | 4/10/2024 |
0.6.0 | 282 | 3/28/2024 |
0.5.7 | 7,471 | 2/13/2024 |
0.5.6 | 473 | 1/22/2024 |
0.5.5 | 446,596 | 7/12/2023 |
0.5.4 | 478 | 7/10/2023 |
0.5.3 | 504 | 7/5/2023 |
0.5.2 | 501 | 6/22/2023 |
0.5.1 | 494 | 5/4/2023 |
0.5.0 | 84,158 | 4/28/2023 |
0.4.3 | 537 | 4/17/2023 |
0.4.2 | 775 | 4/5/2023 |
0.4.1 | 508 | 4/5/2023 |
0.4.0 | 520 | 4/5/2023 |
0.3.2 | 19,692 | 2/27/2023 |
0.3.1 | 1,052 | 2/20/2023 |
0.3.0 | 760 | 2/16/2023 |
0.2.2 | 898 | 1/31/2023 |
0.2.1 | 744 | 1/31/2023 |
0.2.0 | 705 | 1/31/2023 |
0.1.0 | 919 | 1/25/2023 |