Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/TrackingSoft/Kafka

Perl implementation of Kafka API (official CPAN module)
https://github.com/TrackingSoft/Kafka

kafka perl

Last synced: 4 months ago
JSON representation

Perl implementation of Kafka API (official CPAN module)

Awesome Lists containing this project

README

        

Kafka package version 1.08
==============================

The Kafka package is a set of Perl modules which provides a
simple and consistent application programming interface (API) to the
Apache Kafka 0.9+, a high-throughput distributed messaging system.
The main focus of the package is to provide classes
and functions that allow you to write Apache Kafka clients.

The Kafka package was written, tested, and found working on
recent Linux distributions.

INSTALLATION

To install this package type the following:

perl Build.PL
./Build
./Build test
./Build install

DEPENDENCIES

In order to install and use this package you will need Perl version
5.010 or higher. Some modules within this package depend on other
packages that are distributed separately from Perl. We recommend that
you have the following packages installed before you install
Kafka:

Authen::SCRAM::Client
Carp
Compress::Snappy
Const::Fast
Data::Compare
Data::HexDump::Range
Data::Validate::Domain
Data::Validate::IP
Exception::Class
Exporter
Gzip::Faster
IO::Select
List::Util
Params::Util
Scalar::Util
Scalar::Util::Numeric
Socket
String::CRC32
Sys::SigAction
Time::HiRes
Try::Tiny

The Kafka package has the following optional dependencies:

Capture::Tiny
Carp
Clone
Config::IniFiles
Const::Fast
Cwd
Data::Dumper
Exporter
File::HomeDir
File::Path
File::Spec
File::Spec::Functions
IO::File
IO::Socket::INET
IO::Socket::IP
List::Util
Net::EmptyPort
Params::Util
Proc::Daemon
Scalar::Util
Scalar::Util::Numeric
Socket
Sub::Install
Sys::SigAction
Test::Deep
Test::Exception
Test::Fixme
Test::More
Test::NoWarnings
Test::TCP
Time::HiRes
Try::Tiny

If the optional modules are missing, some "prereq" tests are skipped.

The installation of the missing dependencies can either be accomplished
through your OS package manager or through CPAN (or downloading the source
for all dependencies and compiling them manually).

TESTING

The following environment variable changes the way Kafka Benchmark test behave:

# The root directory of the installation Kafka 0.9+
KAFKA_BASE_DIR

SIMPLE BENCHMARK

Use tools/benchmark_consumer.pl and tools/benchmark_producer.pl to run a simple
benchmark.
Run one or more consumer or producer instances using tools/benchmark_consumer.pl or
tools/benchmark_producer.pl .

DOCUMENTATION

Every Kafka package module has a man page. A simple description of each module is
included below in the SEE ALSO section.

SEE ALSO

The basic operation of the Kafka package modules:

Kafka - constants and messages used by the Kafka package.
Kafka::Connection - API to connect to a kafka cluster.
Kafka::Producer - interface to the 'producer' client.
Kafka::Consumer - interface to the 'consumer' client.
Kafka::Message - interface to the Kafka message properties.
Kafka::Int64 - functions to work with 64 bit elements of the
protocol on 32 bit systems.
Kafka::Protocol - functions to process messages in the
Apache Kafka's Protocol.
Kafka::IO - low-level communications with the Apache Kafka server.
Kafka::Exceptions - module designated to handle Kafka exceptions.
Kafka::Internals - Internal constants and functions used
by several packaged modules.

COPYRIGHT AND LICENCE

Copyright (C) 2012-2017 by TrackingSoft LLC.

This package is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. See perlartistic at
http://dev.perl.org/licenses/artistic.html .

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.