News for hackers. Stuff that matters.
Re:I wrote a children's book / illustrated guide to Apache K... by geodel on Thursday June 17, 2021 @01:17PM (#27541999)
Could be just me. I see Apache kafka more nightmarish than bureaucracy in 'The Castle' or Police/judiciary in 'The Trial' from author Franz Kafka. Mr Franz btw stole his last name from this very famous Apache Kafka project.
Re:I wrote a children's book / illustrated guide to Apache K... by monkeyfacebag on Thursday June 17, 2021 @02:39PM (#27542931)
Maybe it's just you, maybe not. It would be beneficial for you to provide some substance to your claim. Then we would have something to discuss.
Re:I wrote a children's book / illustrated guide to Apache K... by geodel on Thursday June 17, 2021 @04:05PM (#27543978)
Unfortunately we do not have something to discuss. All these consumer/producer/broker failing randomly, system behaving erratically is me doing it wrong. Those white papers from Confluent and testimonial from customers are proof that Kafka works fine.
Re:I wrote a children's book / illustrated guide to Apache K... by rjzzleep on Thursday June 17, 2021 @02:12PM (#27542598)
It's quite beautiful, but put so simply it does look nightmarish.

"Then, the otters would decide which part of the river to put the message in"

I'd imagine a child looking at this going like "why are they doing this to the river". Why are they are throwing things into the river. :D

Re:I wrote a children's book / illustrated guide to Apache K... by lostcolony on Thursday June 17, 2021 @02:17PM (#27542669)
No, put so simply it's cute. In production it's nightmarish.
Re:I wrote a children's book / illustrated guide to Apache K... by dkarl on Thursday June 17, 2021 @02:48PM (#27543057)
Individual Kafka consumers and producers tend to have simple behavior, which is good, and initially plugging them together yields simple, predictable systems, but people tend to keep going until they experience pain, at which point they have a system that is right at the limit of what they can understand. Then further feature work pushes them over the limit into darkness.

I think Kafka needs the equivalent of OpenAPI and Redoc, a simple spec and document generator, but for groups of consumers and producers rather than single applications. This would increase the tractability of complex systems, but it would also let you see the system getting more complex over time, even when you haven't reached the pain point yet.

Re:I wrote a children's book / illustrated guide to Apache K... by morelisp on Thursday June 17, 2021 @03:40PM (#27543710)
https://www.asyncapi.com/ is in its infancy but is attempting what you describe.

(I view OpenAPI as a near-failure, but, good luck to everyone trying.)

Re:I wrote a children's book / illustrated guide to Apache K... by dkarl on Thursday June 17, 2021 @05:30PM (#27544684)
Thanks for the tip; that's a really cool project. It looks like the documentation generator for it works on a single file at a time, and a single file defines a single service. I was thinking of something that works on the level of a system of interacting services. I want a tool that reads the API specifications for a group of services and documents the interactions between them. I'd like to look at service X and see that it emits message Y on queue Z, and then see which services read message Y on queue Z, jump to their documentation, etc. I think the AsyncAPI format is perfect to build on, though. I'll start there if I decide to take a hack at it.
Re:I wrote a children's book / illustrated guide to Apache K... by ridiculous_lol on Friday June 18, 2021 @02:37AM (#27547922)
I am not sure if I completely understand your use-case but it seems that the config can be distributed across multiple files.

https://www.asyncapi.com/docs/specifications/v2.0.0#referenc...

Re:I wrote a children's book / illustrated guide to Apache K... by dkarl on Friday June 18, 2021 @10:24AM (#27550643)
I'm taking a closer look today, and it looks to me like one AsyncAPI document, which can be defined using multiple files, defines one application. If you look at the "fixed fields" section under the root object, the second field is "id"[0]:

    id Identifier Identifier of the application the AsyncAPI document is defining.
This format is fine, but the tool I'm looking for is something that will read the definitions of multiple AsyncAPI documents (multiple applications) and show how their inputs and outputs connect, so I can answer a question like, "When application X publishes message Y on channel Z, which applications consume that message?"

AsyncAPI gets me 90% there by defining the service spec and providing code to parse it. It's possible somebody has already written the rest; I'll have to see.

[0] https://www.asyncapi.com/docs/specifications/v2.0.0#fixed-fi...

Re:I wrote a children's book / illustrated guide to Apache K... by cbsmith on Thursday June 17, 2021 @03:20PM (#27543434)
KSQL seems to address this gap.
Re:I wrote a children's book / illustrated guide to Apache K... by Hamuko on Thursday June 17, 2021 @03:27PM (#27543549)
Is this comment intentionally Kafkaesque?
Re:I wrote a children's book / illustrated guide to Apache K... by gilbetron on Thursday June 17, 2021 @02:31PM (#27542836)
What do you find nightmarish about it?
Re:I wrote a children's book / illustrated guide to Apache K... by manishsharan on Thursday June 17, 2021 @02:51PM (#27543096)
Kafka is very configurable .. and teams struggle to optimize the production deployment configuration and tend to second guess their decisions. Getting a managed deployment from Confluent etc. mitigates these issues as you can count on proven SMEs to deliver a well optimized solution. However, if you were to DIY , you might not be so blessed. Disclosure: I never did a DIY Kafka prod deploy -- my employer was already a Confluent customer.