Goka try a concise but powerful Go stream running library for Apache Kafka that eases the introduction of scalable, fault-tolerant, data-intensive solutions. Goka are a Golang angle from the ideas expressed in a€zI heart logsa€? by Jay Kreps and a€zMaking sense of stream processinga€? by has-been incubating the collection for couple of weeks and now we are delivering it as available supply.
At the time of writing, a lot more than 20 Goka-based microservices run in manufacturing and around the exact same number is in developing. From consumer lookup to device studying, Goka influence software that manage huge quantities of data and now have real time requirement. Examples is:
- the Anti-Spam system, surrounding several processors to discover spammers and fraudsters;
- the MatchSearch system, promoting current search of customers in the vicinity of the customer;
- the EdgeSet program, watching connections between customers;
- the Recommender program, finding out choice and sorting advice; and
- the consumer Segmentation program, mastering and predicting the portion of consumers.
This article presents the Goka collection and some of rationale and concepts behind it. We in addition present a simple sample to acquire begun.
LOVOO Engineering
At core of any Goka software is one or more key-value tables symbolizing the application form condition. Goka supplies blocks to manipulate these dining tables https://datingmentor.org/pl/przygoda-randki/ in a composable, scalable, and fault-tolerant means. All state-modifying surgery include converted in event streams, which promises key-wise sequential posts. Read-only businesses may straight access the application dining tables, supplying fundamentally regular reads.
Building blocks
To reach composability, scalability, and fault endurance, Goka encourages the creator to 1st decompose the applying into microservices using three different ingredients: emitters, processors, and views. The figure below depicts the abstract program once again, but now showing the aid of these three elements combined with Kafka in addition to external API. Читать далее →