Time |
S |
Nick |
Message |
04:52 |
|
|
mvala joined #virtualJUG |
06:50 |
|
|
mvala joined #virtualJUG |
08:35 |
|
|
mvala joined #virtualJUG |
12:21 |
|
|
AJUG-MK joined #virtualJUG |
12:43 |
|
|
Danny joined #virtualJUG |
12:45 |
|
Guest33873 |
hi |
14:51 |
|
|
ksobkowiak joined #virtualJUG |
15:21 |
|
|
ohtudor joined #virtualJUG |
15:52 |
|
|
Eddy joined #virtualJUG |
15:56 |
|
|
alan251 joined #virtualJUG |
15:57 |
|
|
no joined #virtualJUG |
16:00 |
|
|
NumberNo joined #virtualJUG |
16:00 |
|
|
letmein joined #virtualJUG |
16:03 |
|
|
sdfsdfsdf joined #virtualJUG |
16:03 |
|
|
Anonymous10 joined #virtualJUG |
16:04 |
|
|
pasy111 joined #virtualJUG |
16:04 |
|
|
leanforge joined #virtualJUG |
16:06 |
|
|
Anonymous10 joined #virtualJUG |
16:06 |
|
|
leanforge joined #virtualJUG |
16:07 |
|
|
Eddy joined #virtualJUG |
16:07 |
|
|
Anonymous10 joined #virtualJUG |
16:08 |
|
|
Mare joined #virtualJUG |
16:09 |
|
|
Mare left #virtualJUG |
16:19 |
|
|
kinder112 joined #virtualJUG |
16:19 |
|
|
seakayone joined #virtualJUG |
16:20 |
|
|
Anonymous10 joined #virtualJUG |
16:35 |
|
|
mihbor joined #virtualJUG |
16:36 |
|
|
osx joined #virtualJUG |
16:37 |
|
|
osx_ joined #virtualJUG |
16:39 |
|
|
Anonymous10 joined #virtualJUG |
16:39 |
|
|
cooljais joined #virtualJUG |
16:39 |
|
|
hospel joined #virtualJUG |
16:42 |
|
|
Batman4 joined #virtualJUG |
16:43 |
|
|
seakayone joined #virtualJUG |
16:47 |
|
|
shelajev joined #virtualJUG |
16:47 |
|
|
jorgemartins joined #virtualJUG |
16:48 |
|
|
hospel joined #virtualJUG |
16:48 |
|
|
java_geek joined #virtualJUG |
16:49 |
|
|
mxsb joined #virtualJUG |
16:49 |
|
|
znurgl joined #virtualJUG |
16:52 |
|
|
Gtron joined #virtualJUG |
16:53 |
|
|
Boris joined #virtualJUG |
16:53 |
|
|
AgentSmith joined #virtualJUG |
16:54 |
|
|
Teisemann joined #virtualJUG |
16:54 |
|
|
cborghmans joined #virtualJUG |
16:54 |
|
|
asi joined #virtualJUG |
16:54 |
|
|
Manik joined #virtualJUG |
16:56 |
|
|
LaSombra_ joined #virtualJUG |
16:57 |
|
|
NikhilW joined #virtualJUG |
16:57 |
|
|
millrossjez joined #virtualJUG |
16:58 |
|
|
hospel joined #virtualJUG |
16:58 |
|
|
alan251 joined #virtualJUG |
16:58 |
|
Gtron |
Hi all, what will be the target level of the session? |
16:58 |
|
|
santeron joined #virtualJUG |
16:58 |
|
millrossjez |
evening all :) |
16:58 |
|
|
jyeary joined #virtualJUG |
16:58 |
|
|
zakaria joined #virtualJUG |
16:58 |
|
|
AgentSmithers joined #virtualJUG |
16:58 |
|
zakaria |
when does this starts? |
16:59 |
|
|
IanChiu joined #virtualJUG |
16:59 |
|
sjmaple |
starting in 1 min! |
16:59 |
|
|
Tornroth joined #virtualJUG |
16:59 |
|
AgentSmithers |
in one minute? |
16:59 |
|
sjmaple |
yep |
16:59 |
|
|
robbo joined #virtualJUG |
16:59 |
|
zakaria |
cool |
16:59 |
|
|
manikmagar joined #virtualJUG |
16:59 |
|
|
KubaZguba joined #virtualJUG |
16:59 |
|
|
jorgemartins joined #virtualJUG |
17:00 |
|
|
kinder112 joined #virtualJUG |
17:00 |
|
|
tigger joined #virtualJUG |
17:00 |
|
|
javonymous joined #virtualJUG |
17:00 |
|
shelajev |
we're starting in a couple of seconds |
17:00 |
|
shelajev |
:) all ready and just doing the last sound checks |
17:00 |
|
|
Guest5714 left #virtualJUG |
17:00 |
|
|
Rafa joined #virtualJUG |
17:00 |
|
|
alan252 joined #virtualJUG |
17:00 |
|
|
wookie870 joined #virtualJUG |
17:01 |
|
|
vasko joined #virtualJUG |
17:01 |
|
|
fabriziocucci joined #virtualJUG |
17:01 |
|
|
kweem joined #virtualJUG |
17:01 |
|
|
Arlabunakty joined #virtualJUG |
17:01 |
|
|
manikmagar joined #virtualJUG |
17:01 |
|
|
Lekshmana joined #virtualJUG |
17:01 |
|
|
Jirush joined #virtualJUG |
17:01 |
|
|
Suman joined #virtualJUG |
17:01 |
|
|
Oleg joined #virtualJUG |
17:01 |
|
|
Chapinch joined #virtualJUG |
17:01 |
|
|
Michael_Willer joined #virtualJUG |
17:02 |
|
|
luseg joined #virtualJUG |
17:02 |
|
|
aleg joined #virtualJUG |
17:02 |
|
|
sat joined #virtualJUG |
17:02 |
|
|
robbbo joined #virtualJUG |
17:03 |
|
|
nepomuk joined #virtualJUG |
17:03 |
|
|
ygenin joined #virtualJUG |
17:04 |
|
|
seakayone joined #virtualJUG |
17:04 |
|
|
coacoas joined #virtualJUG |
17:04 |
|
|
Mare joined #virtualJUG |
17:04 |
|
|
tkl joined #virtualJUG |
17:04 |
|
|
Batman4 joined #virtualJUG |
17:05 |
|
|
Mumuksia joined #virtualJUG |
17:05 |
|
|
Shripad joined #virtualJUG |
17:05 |
|
|
nmnm222 joined #virtualJUG |
17:05 |
|
shelajev |
oh, he put me on the spot |
17:05 |
|
shelajev |
the video runs |
17:05 |
|
|
hk1 joined #virtualJUG |
17:06 |
|
shelajev |
please use the cog icon on the video to pick the best quality you cna |
17:06 |
|
|
CC joined #virtualJUG |
17:06 |
|
|
ikolaxis joined #virtualJUG |
17:06 |
|
shelajev |
Sebastian will show some code |
17:06 |
|
shelajev |
so you'd like to go as high as you can to have a crystal crisp image of that |
17:06 |
|
|
rajn joined #virtualJUG |
17:06 |
|
zakaria |
cool setup |
17:06 |
|
|
Roy joined #virtualJUG |
17:06 |
|
zakaria |
how do you put slides behind you |
17:07 |
|
|
Eirini_gr joined #virtualJUG |
17:07 |
|
zakaria |
do you have a projector |
17:07 |
|
|
Anonymous10 joined #virtualJUG |
17:07 |
|
sjmaple |
he has another layer that streams to hangouts :) I'm not sure if his current setup is software or hardware. |
17:08 |
|
|
tjololo joined #virtualJUG |
17:08 |
|
sjmaple |
Sebastien also does a bunch of nighthacking stuff so has some cool kit |
17:08 |
|
KubaZguba |
CAP theory and CRUD scalablity - is it a joke ? |
17:08 |
|
zakaria |
awesome:) |
17:09 |
|
shelajev |
I think it's just xsplit doing picture in picture |
17:09 |
|
shelajev |
I saw the xsplit logo for a second there |
17:10 |
|
|
ist-olga joined #virtualJUG |
17:10 |
|
|
Eddy joined #virtualJUG |
17:11 |
|
zakaria |
@shelajev good to know |
17:11 |
|
|
ejan joined #virtualJUG |
17:14 |
|
|
djm_ joined #virtualJUG |
17:14 |
|
|
Daniel joined #virtualJUG |
17:15 |
|
|
Guest84104 left #virtualJUG |
17:15 |
|
|
LaSombr__ joined #virtualJUG |
17:19 |
|
|
JavierSainz joined #virtualJUG |
17:20 |
|
|
Anon joined #virtualJUG |
17:20 |
|
|
Anon left #virtualJUG |
17:20 |
|
|
javonymous left #virtualJUG |
17:20 |
|
|
Anonymous10 joined #virtualJUG |
17:23 |
|
shelajev |
oh, here's the link to the RebelLabs survey we mentioned: https://rebellabs.typeform.com/to/IrpKbp |
17:24 |
|
|
ohtudor joined #virtualJUG |
17:24 |
|
KubaZguba |
why command part (CmdSrv) has access to DB ? |
17:26 |
|
|
mimic47 joined #virtualJUG |
17:26 |
|
|
Arlabunakty joined #virtualJUG |
17:27 |
|
Eirini_gr |
because i was a bit late, we assume that the 'order', 'beans' and 'barista' are independent applications? |
17:27 |
|
KubaZguba |
@Eirini_gr yes |
17:28 |
|
Eirini_gr |
thank's |
17:29 |
|
|
demassinner joined #virtualJUG |
17:29 |
|
seakayone |
Are Commands shared with the Eventstore, or are they simply http calls? |
17:30 |
|
|
brt joined #virtualJUG |
17:31 |
|
seakayone |
why not model as event as well? |
17:31 |
|
ejan |
Questions: so the query service updates its database when an event arrives and later can answer questions about the data it stores. How's it different than a normal CRUD app. This query service stills creates data in its database and queries it, although it won't update and delete stuff. Just trying to understand the "big difference". |
17:32 |
|
|
Murthy1 joined #virtualJUG |
17:32 |
|
KubaZguba |
command and events can look similiar but the main difference is that events are something that just happened in the past (was accepted, validated and can be carved in stone) |
17:32 |
|
Murthy1 |
how are command and query correlated? |
17:32 |
|
ejan |
Question 2: If everything is calculated off of events, how do we deal with performance issues? For example, if you have many entities with lots and lots of events, calculating their histories would be a real drain on performance. |
17:33 |
|
|
madruga joined #virtualJUG |
17:33 |
|
KubaZguba |
@ejan you can use snapshoting |
17:36 |
|
Suman |
@KubaZguba How does snapshoting work? Can you please provide more information on this? |
17:37 |
|
KubaZguba |
is about aggregating multiple events into a one "entity" - instead of doing it ad hoc you do it on regular basis so you can avoid applying all events that happened from initial beginning |
17:38 |
|
KubaZguba |
so to build a "state of entity" you take a snapshot for that entity and apply all "new events" (these which are not in current snapshot) on top of it |
17:39 |
|
KubaZguba |
so it is a pure performance optimisation |
17:41 |
|
Suman |
@KubaZguba Thanks for the explanation. So this is kind of materialized view which is incrementally updated. |
17:41 |
|
KubaZguba |
@Suman exactly |
17:42 |
|
KubaZguba |
basically the whole idea behind EventSourcing is instead of store a state of let say entity |
17:42 |
|
KubaZguba |
is to process commands to that entity |
17:42 |
|
KubaZguba |
and if business rules says ok |
17:43 |
|
KubaZguba |
than you know you can change the state - but instead of updating your DB, you publish an event |
17:43 |
|
KubaZguba |
this event can be than used by other applications (or Read part of your app) |
17:43 |
|
KubaZguba |
but also when new command for same entity (actually i shall call it aggregate ) |
17:44 |
|
KubaZguba |
you need to "rebuild" your aggregate state - and you do it by applying all events |
17:44 |
|
KubaZguba |
for that aggregate |
17:44 |
|
KubaZguba |
if you find the "rebuild" being too slow |
17:45 |
|
KubaZguba |
than you go with snapshottinh |
17:45 |
|
Suman |
@KubaZguba ok. To support multiple query I guess we need to maintain multiple aggregates. |
17:45 |
|
Suman |
one aggregate per query |
17:45 |
|
KubaZguba |
queries are different |
17:46 |
|
KubaZguba |
as they do not have "aggregates" just projections |
17:46 |
|
KubaZguba |
but you are right |
17:46 |
|
KubaZguba |
for each query you have really optimised structure (maybe even in different NoSql or SQL database) |
17:46 |
|
KubaZguba |
so reads are very fast |
17:46 |
|
KubaZguba |
and read models are built from events |
17:47 |
|
Suman |
Also I guess we need to maintain the snapshot in persistence storage |
17:47 |
|
|
madruga joined #virtualJUG |
17:47 |
|
Suman |
because in case of system restart |
17:47 |
|
KubaZguba |
yes |
17:47 |
|
Suman |
it will take a lot of time to rebuid the snapshot |
17:47 |
|
KubaZguba |
but it depenends on case |
17:47 |
|
KubaZguba |
it depends on how many events you have |
17:47 |
|
KubaZguba |
in total |
17:48 |
|
Suman |
over time number of events will increase |
17:48 |
|
KubaZguba |
and for a particualar entity |
17:48 |
|
KubaZguba |
sorry aggregate |
17:48 |
|
|
angJobs joined #virtualJUG |
17:48 |
|
Suman |
so if we want to build the snapshot from scratch |
17:48 |
|
Suman |
or the state of entity from scratch |
17:48 |
|
Suman |
there will be performance penalty |
17:49 |
|
KubaZguba |
yes. but from my experience you do not need to go immediately |
17:49 |
|
KubaZguba |
with snapshot |
17:49 |
|
KubaZguba |
i saw systems with millions of events |
17:49 |
|
angJobs |
hi |
17:49 |
|
KubaZguba |
and no snapshotting |
17:50 |
|
Suman |
ok. How do we handle system crash |
17:50 |
|
Suman |
I mean how we recover once the system comes back from crash |
17:50 |
|
Suman |
do we run the logic to build state again |
17:50 |
|
KubaZguba |
you reapply events |
17:50 |
|
Suman |
ok |
17:51 |
|
Suman |
if there are millions of events |
17:51 |
|
Suman |
won't it slow down |
17:51 |
|
Suman |
? |
17:51 |
|
millrossjez |
keep in mind you're talking about the read model, it's entirely legitimate to persist your read model and just mark it with the version |
17:51 |
|
Suman |
ok |
17:51 |
|
millrossjez |
then as long as you can start your read from a particular point on the timeline, you only have to apply events since your latest version of the read model |
17:52 |
|
Suman |
@millrossjez thanks. It is clear now |
17:54 |
|
|
Suman left #virtualJUG |
17:55 |
|
sjmaple |
any final questions/unanswered questions I can send to Sebastian? |
17:56 |
|
demassinner |
What if business logic change a lot and all events needs to be replayed often.. how to adress that? Is CQRS a way forward in that case? |
18:02 |
|
millrossjez |
how does using Kafka compare with e.g. Greg Young's EventStore software? |
18:02 |
|
KubaZguba |
Kafka is just an EventStore |
18:03 |
|
KubaZguba |
which is like GY event store on steroids |
18:03 |
|
millrossjez |
how easy is it to select events for just a particular aggregate, I guess, is my question |
18:03 |
|
|
karstensrage joined #virtualJUG |
18:03 |
|
|
flopez joined #virtualJUG |
18:03 |
|
KubaZguba |
not so easy in Kafka you can go with Kafka partitions |
18:04 |
|
shelajev |
sorry about the sound issues |
18:04 |
|
sat |
if this example available before this session this would have been better more |
18:04 |
|
millrossjez |
thanks @KubaZguba |
18:09 |
|
sjmaple |
we've run out of time for questions - but please reach out to Sebastian on twitter for more info or to ask further questions http://twitter.com/DaschnerS |
18:11 |
|
jyeary |
thank you for the very nice talk. |
18:11 |
|
jyeary |
I like the live code personally too. |
18:12 |
|
Eirini_gr |
thank you! |
18:12 |
|
jyeary |
Really pro |
18:12 |
|
sat |
thanks |
18:12 |
|
jyeary |
That looks slick. |
18:13 |
|
|
shelajev joined #virtualJUG |
18:16 |
|
Anonymous10 |
thank you for the session. |
18:17 |
|
|
Anonymous10 left #virtualJUG |
18:21 |
|
|
JavierSainz joined #virtualJUG |
18:22 |
|
|
ivange94 joined #virtualJUG |
18:23 |
|
|
Batman4 joined #virtualJUG |
18:26 |
|
|
tkl joined #virtualJUG |
18:26 |
|
|
Yunus joined #virtualJUG |
18:29 |
|
|
madruga joined #virtualJUG |
18:33 |
|
|
Roy joined #virtualJUG |
18:38 |
|
|
shelajev joined #virtualJUG |
18:57 |
|
|
madruga joined #virtualJUG |
19:00 |
|
|
Eddy joined #virtualJUG |
19:07 |
|
|
JavierSainz joined #virtualJUG |
19:16 |
|
|
nepomuk joined #virtualJUG |
19:19 |
|
|
Mare joined #virtualJUG |
19:22 |
|
|
madruga joined #virtualJUG |
19:23 |
|
|
millrossjez joined #virtualJUG |
19:30 |
|
|
pau joined #virtualJUG |
19:31 |
|
|
JavierSainz joined #virtualJUG |
19:37 |
|
|
JavierSainz joined #virtualJUG |
20:02 |
|
|
Mare joined #virtualJUG |
20:06 |
|
|
Mare joined #virtualJUG |
20:08 |
|
|
tjololo joined #virtualJUG |
20:15 |
|
|
Roy joined #virtualJUG |
20:23 |
|
|
Roy joined #virtualJUG |
20:24 |
|
|
Christophe_C joined #virtualJUG |
20:25 |
|
|
Arlabunakty joined #virtualJUG |
20:31 |
|
|
Roy joined #virtualJUG |
20:34 |
|
|
ohtudor joined #virtualJUG |
20:54 |
|
|
Roy joined #virtualJUG |
21:12 |
|
|
Mare joined #virtualJUG |
21:14 |
|
|
Mare joined #virtualJUG |
21:17 |
|
|
Mare joined #virtualJUG |
21:21 |
|
|
Mare joined #virtualJUG |
21:24 |
|
|
Mare joined #virtualJUG |
21:29 |
|
|
Mare joined #virtualJUG |