Thanks Igal, this is more or less what I was expecting..this implies that ALL events are received on the UI side. I was concerned about the tradeoffs of this choice: when I zoom on the map I could simply ignore messages outside the boundaries (but I still spend many cpu resource in the reading of useless messages).
In the case of a worldwide company (eg uber or simolar) it's probably better to create a topic per geographical arean..but also in this case then the UI should know when to attach or detach from queue topics when it reach a section of the map served by different topics..in another case I could just have too many events also in the single map section (let's think about some big city with many user). Is there any talk at FF ir someone else that faced those issues too? Il Gio 31 Ott 2019, 17:44 Igal Shilman <i...@ververica.com> ha scritto: > For that particular example, the simulator [1] is responsible for > simulating physical drivers and passengers that interact with their > corresponding > stateful functions [2]. > The interaction between the simulator and the stateful functions is > happening via four Kafka topics: > * to-driver - messages that are sent from the physical drivers (the > simulator [1]) to the stateful functions. The messages always carry a > driver-id which acts as a routing key (I think that this is what you mean > by correlation id) to a specific driver stateful function (FnDriver) > * from-driver - messages that are sent from a stateful function with a > specific driver id to the simulator > * to-passenger - symmetric to to-driver > * from-passenger - symmetric to from-driver. > The ingress and egress definition are specified here [3], and you may want > to checkout how to router is defined as well [4][5]. > > In addition the simulator is also feeding the UI directly by duplicating > the messages to a web socket (see [6]) > > I hope this clarifies the examples. > > Igal. > > [1] > https://github.com/ververica/stateful-functions/tree/master/stateful-functions-examples/stateful-functions-ridesharing-example/stateful-functions-ridesharing-example-simulator/src/main/java/com/ververica/statefun/examples/ridesharing/simulator > [2] > https://github.com/ververica/stateful-functions/tree/master/stateful-functions-examples/stateful-functions-ridesharing-example/stateful-functions-ridesharing-example-functions > [3] > https://github.com/ververica/stateful-functions/blob/master/stateful-functions-examples/stateful-functions-ridesharing-example/stateful-functions-ridesharing-example-functions/src/main/java/com/ververica/statefun/examples/ridesharing/KafkaSpecs.java#L43 > [4] > https://github.com/ververica/stateful-functions/blob/master/stateful-functions-examples/stateful-functions-ridesharing-example/stateful-functions-ridesharing-example-functions/src/main/java/com/ververica/statefun/examples/ridesharing/Module.java#L33 > [5] > https://github.com/ververica/stateful-functions/blob/master/stateful-functions-examples/stateful-functions-ridesharing-example/stateful-functions-ridesharing-example-functions/src/main/java/com/ververica/statefun/examples/ridesharing/InboundDriverRouter.java#L26 > [6] > https://github.com/ververica/stateful-functions/blob/master/stateful-functions-examples/stateful-functions-ridesharing-example/stateful-functions-ridesharing-example-simulator/src/main/java/com/ververica/statefun/examples/ridesharing/simulator/simulation/Driver.java#L70 > > On Thu, Oct 31, 2019 at 4:15 PM Flavio Pompermaier <pomperma...@okkam.it> > wrote: > >> Yes, I'm interested in how to read data from a UI..which egress should I >> use? If we use a kafka queue, how to filter data received in the topic? >> Should I use a correlation id or use a new topic per user? >> >> Il Gio 31 Ott 2019, 16:08 Igal Shilman <i...@ververica.com> ha scritto: >> >>> Hi Flavio, >>> >>> We haven't included the UI source code just yet, we've only used it for >>> demos and talks. >>> >>> The reason is that (1) we didn't put a lot of effort and time there (2) >>> didn't check the time to go through the individual dependencies and >>> licences. >>> But we will add that very soon. >>> >>> Would having the UI code there would improve your understanding? or is >>> there another reason? >>> >>> Thanks, >>> Igal >>> >>> On Thu, Oct 31, 2019 at 5:44 AM Flavio Pompermaier <pomperma...@okkam.it> >>> wrote: >>> >>>> Hi Vino, >>>> I already checked that code but I can't find the UI part :( >>>> >>>> On Thu, Oct 31, 2019 at 12:32 PM vino yang <yanghua1...@gmail.com> >>>> wrote: >>>> >>>>> Hi Flavio, >>>>> >>>>> Please see this link.[1] >>>>> >>>>> Best, >>>>> Vino >>>>> >>>>> [1]: >>>>> https://github.com/ververica/stateful-functions/tree/master/stateful-functions-examples/stateful-functions-ridesharing-example >>>>> >>>>> Flavio Pompermaier <pomperma...@okkam.it> 于2019年10月31日周四 下午4:53写道: >>>>> >>>>>> Hi to all, >>>>>> yould it be possible to provide also the source code of the UI part >>>>>> of the ride sharing example? It would be interesting to me how the UI is >>>>>> reading the data from the Kafka egress. >>>>>> >>>>>> Best, >>>>>> Flavio >>>>>> >>>>> >>>>