A KafkaJS codec for ZStandard compression
npm install @kafkajs/zstd@kafkajs/zstdZStandard codec for KafkaJS.
> NOTE: This codec relies on cppzst for compression and decompression. Please divert any issues with cppzst there, and only open issues on this repo in case the version being used here needs to be updated.
>
> This package is provided on a best-effort basis. See #2
``sh`
npm install --save @kafkajs/zstd
`javascript
const { CompressionTypes, CompressionCodecs } = require('kafkajs')
const ZstdCodec = require('@kafkajs/zstd')
// Both compressionParams and decompressionParams are optional
const compressionParams = { level: 1 }
const decompressionParams = {}
CompressionCodecs[CompressionTypes.ZSTD] = ZstdCodec(compressionParams, decompressionParams)
`
Optional Allows you to configure the compression level and training data.
`js
{
/*
* Higher compression level means faster at the cost of compression ratio or memory usage.
* See https://facebook.github.io/zstd/
*/
level: 3,
/*
* Training data for improving performance on small payloads.
* See https://facebook.github.io/zstd/#small-data
*/
dict: trainingData,
dictSize: Buffer.byteLength(trainingData)
}
`
Optional Allows you to configure the training data.
`js`
{
/*
* Training data for improving performance on small payloads.
* See https://facebook.github.io/zstd/#small-data
*/
dict: trainingData,
dictSize: Buffer.byteLength(trainingData)
}
`sh
$ docker-compose up -d && node scripts/waitForKafka.js
$ npm test
See LICENSE for more details.