Also, if I would like to set up ask/reply across service in a pub-sub fashion, in the case where master asks the worker to do long-running task, and the worker notifies master when the task is done.I'm considering setting up Topic for each side of sender/recipient, and each subscribe to one another's Topic? Is that the right approach?
Tim - is this considered a limitation that is likely to be removed at some point?
After a quick glance it looks like dropping down to akka-stream-kafka gets us into the realm of byte arrays and no message typing support. Is that correct?
I can think of lots of use cases where entities might want to stream events onto a common stream - any IoT modelling that needed to aggregate data from multiple similar sensors for example.Or is there another way of achieving a similar effect using alternative tools from the lagom toolbox ? Having a stream per sensor sounds like a lot of overhead.
So am I right in assuming that pubsub does not work in this case and I'd want to go for Kafka? And consequently I'm in the territory of asking for an enhancement request and dropping down to akka-kafka to do the work in the meantime (assuming the request ever gets on the development radar)
--
You received this message because you are subscribed to the Google Groups "Lagom Framework Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lagom-framework+unsubscribe@googlegroups.com.
To post to this group, send email to lagom-framework@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lagom-framework/af576eb2-df96-450e-8b1c-0e20be6bc016%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Lagom Framework Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lagom-framework+unsubscribe@googlegroups.com.
To post to this group, send email to lagom-framework@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lagom-framework/4257d5dc-a496-496e-baec-3cda349c2ed3%40googlegroups.com.
Hi Michael,What you're describing sounds similar to what I was thinking, though I have to admit I haven't thought it through in great detail.Some of the questions that come to mind:What are the semantics of the topic that you get from the service client? Is it a at-most-once ("fire-and-forget") stream that I just throw messages into? Or is it something where I would hand it some kind of resumable stream of entity events like what you can build with the existing TopicProducer helper?It would be nice to see a sketch of what the code might look like with the proposed API, including end-to-end examples from the source of the messages to the processing side. It would give us something more concrete to discuss.Cheers,Tim
--
You received this message because you are subscribed to a topic in the Google Groups "Lagom Framework Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/lagom-framework/DPM-juGKydI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to lagom-framework+unsubscribe@googlegroups.com.
To post to this group, send email to lagom-framework@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lagom-framework/CAApsmOSDO5SQTtPZ0yvXH1a2M%2Bj37pynoXrt00gyKpb3h8qkWA%40mail.gmail.com.
Hi Mick,
Even though it's 1-1 for us for the purpose of our PoC, we are indeed thinking what we'd have to do once we have more services and the problem you mentioned regarding filtering the results from the output topic is concerning for us too.
I think we can accept the overhead as long as the number of services that work this way is small. Once it becomes a problem, the first solution I would consider is adding a minimalistic kafka-streams app that fans out the results to multiple topics while doing the filtering in one place. The downside is that we may need to drop down to the reactive-kafka library instead of using the lagom topic.subscribe() functionality. I think this is a problem we'd think through in more detail once (and if) we have enough such services to warrant it.
However, I the above only makes sense to me if I think about the
topics as input:commands, output:events. If instead I think about
it more how you describe it, as input:requests, output:responses,
then it feels more natural to design it with separate topics for
replies to each client. If you keep one input topic, you can have
the name of the output topic passed in the request messages. But
it might make more sense to have separate input topics for each
client too, for better isolation of load. This though would best
be done using reactive-kafka or kafka client apis directly IMO.
Thanks,
Michal
![]() |
Michal Borowiecki | ||||||||||||||||||||||||||||
Senior Software Engineer L4 | |||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||
![]() |
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postm...@openbet.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by OpenBet for employment and security purposes. To protect the environment please do not print this e-mail unless necessary. OpenBet Ltd. Registered Office: Chiswick Park Building 9, 566 Chiswick High Road, London, W4 5XT, United Kingdom. A company registered in England and Wales. Registered no. 3134634. VAT no. GB927523612 |