All Projects → teamseodo → kafka-do

teamseodo / kafka-do

Licence: MIT License
Higher level abstraction for franz-go.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to kafka-do

Dosa
DOSA is a data object abstraction layer
Stars: ✭ 172 (+719.05%)
Mutual labels:  abstraction
kafka cluster example
🪲 kafka cluster example
Stars: ✭ 42 (+100%)
Mutual labels:  sarama
pan
Pan is a high performance mq proxy,support kafka,rabbit-mq,rocketmq,nsq and other mq
Stars: ✭ 27 (+28.57%)
Mutual labels:  sarama
Sparrow
A simple database toolkit for PHP
Stars: ✭ 236 (+1023.81%)
Mutual labels:  abstraction
ActionLogic
A business logic abstraction gem that provides structure to the organization and composition of business logic (Ruby)
Stars: ✭ 29 (+38.1%)
Mutual labels:  abstraction
JSON-API-Client
Abstract client-side php implementation of the json api specification (jsonapi.org)
Stars: ✭ 17 (-19.05%)
Mutual labels:  abstraction
Use Less
React hooks that help you do what you already did, with more indirection
Stars: ✭ 135 (+542.86%)
Mutual labels:  abstraction
JOLI.jl
Julia Operators LIbrary
Stars: ✭ 14 (-33.33%)
Mutual labels:  abstraction
Mantle
Mantle is a framework for building massively scalable .NET-based applications that can be hosted either on-premises or on a variety of public cloud providers including Microsoft Azure and Amazon AWS.
Stars: ✭ 26 (+23.81%)
Mutual labels:  abstraction
kafka monitor
A kafka monitor to send alarm emails
Stars: ✭ 14 (-33.33%)
Mutual labels:  sarama
Vpp
Modern C++ vulkan utility library.
Stars: ✭ 245 (+1066.67%)
Mutual labels:  abstraction
volumetricPrimitives
Code release for "Learning Shape Abstractions by Assembling Volumetric Primitives " (CVPR 2017)
Stars: ✭ 137 (+552.38%)
Mutual labels:  abstraction
banku
Go event sourcing with Kafka, example project
Stars: ✭ 29 (+38.1%)
Mutual labels:  sarama
Go Billy
The missing interface filesystem abstraction for Go
Stars: ✭ 184 (+776.19%)
Mutual labels:  abstraction
nest-abstract
NestJs Abstraction Helper
Stars: ✭ 36 (+71.43%)
Mutual labels:  abstraction
Gen rmq
Elixir AMQP consumer and publisher behaviours
Stars: ✭ 146 (+595.24%)
Mutual labels:  abstraction
Enchilada
Enchilada is a filesystem abstraction layer written in C#
Stars: ✭ 29 (+38.1%)
Mutual labels:  abstraction
message middleware
为了促进产品的平台化建设, 把kafka消息队列从服务中抽象出来。让消息队列只关注消息的订阅和发布,使用微服务,减少与业务逻辑的耦合, 该服务支持多实例部署
Stars: ✭ 19 (-9.52%)
Mutual labels:  sarama
postcss-variable-compress
Minifies css variable names
Stars: ✭ 18 (-14.29%)
Mutual labels:  abstraction
Lexical.FileSystem
Virtual IFileSystem interfaces, and implementations.
Stars: ✭ 24 (+14.29%)
Mutual labels:  abstraction

kafka-do

v0.3.4

kafka-do

Go Reference

What

Higher level abstraction for franz-go.

Why

We want to be able to write our kafka applications without making the same things over and over.

Batch Consume
Consume messages as much as you defined.

Batch Produce
Produce messages as a batch to a topic.

Example

For e2e example, check here.

	producer, err := kafka.NewProducer("127.0.0.1:9092")
	if err != nil {
		log.Fatal(err)
	}
	defer producer.Close()

	producer.Produce(context.Background(), []kafka.Message{
		kafka.Message("message 1"),
		kafka.Message("message 2"),
		kafka.Message("message 3"),
		kafka.Message("message 4"),
	}, "messages")

	consumer, err := kafka.NewConsumer("kafka_do", []string{"messages"}, []string{"127.0.0.1:9092"})
	if err != nil {
		log.Fatal(err)
	}
	defer consumer.Close()

	messages, errs := consumer.ConsumeBatch(context.Background(), 2)
	for _, message := range messages {
		log.Println(message)
	}

	for _, err := range errs {
		log.Println(err)
	}

Development

To run tests, start a kafka that runs on ":9092".

go test ./... -v -cover -count=1 -race
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].