Тёмный

Creating Future-Proof Spring Applications with Event Sourcing by Steve Pember @ Spring I/O 2024 

Spring I/O
Подписаться 32 тыс.
Просмотров 5 тыс.
50% 1

Spring I/O 2024 - 30-31 May, Barcelona
Slides: docs.google.com/presentation/...
Repo: github.com/spember/spring-bik...
Event Sourcing is a modern but non-trivial data model for building scalable and powerful systems. Instead of mapping a single Entity to a single row in a datastore, in an Event Sourced system we persist all changes for an Entity in an append-only journal. This design provides a wealth of benefits: a built-in Audit Trail, Time-Based reporting, powerful Error Recovery, and more. It creates flexible, scalable systems and can easily evolve to meet changing organizational demands. That is, once you have some experience with it. Event Sourcing is straightforward in concept, but it does bring additional complexity and a learning curve that can be intimidating. People coming from traditional ORM systems often wonder: how does one model relations between Entities? How is Optimistic Locking handled? What about datastore constraints?
Based on over eight years of experience with building ES systems in Spring applications, we will demonstrate the basics of Event Sourcing and some of the common patterns. We will see how simple it can be to model events with available tools like Spring Data JPA, JOOQ, and the integration between Spring and Axon. We’ll walk through sample code in an application that demonstrates many of these techniques. However, it’s also not strictly about the code; we’ll see how a process called Event Modeling can be a powerful design tool to align Subject Matter Experts, Product, and Engineering. Attendees will leave with an understanding of the basic Event Sourcing patterns, and hopefully a desire to start creating their own Journals.

Наука

Опубликовано:

 

5 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 22   
@TechTalksWeekly
@TechTalksWeekly 12 дней назад
Steve's talk has been featured in the last issue of Tech Talks Weekly newsletter 🎉 Congrats! 👏
@Mrhennayo
@Mrhennayo 19 дней назад
That's clean enough As long as there's an history requirement, then I guess that's the best pattern Also the immutability contraint makes it resistant against bugs
@carlosabreu5012
@carlosabreu5012 18 дней назад
so good. With this you dont need a recurrent select or this refresh button to see changes in the client side. you can subscribe to the eventsource with js, and dissubscribe when you change the page. spring can manage it if your clients cant close the subscription. but thats one idea! think about it... like reactivity to a crud, you can bring this to any other business logic.
@jesprotech
@jesprotech 20 дней назад
Great presentation and great example! Loved the presentation! Great job! 👍
@kligris
@kligris 22 дня назад
Awesome!!
@tobyzieglerrr
@tobyzieglerrr 16 дней назад
great topic and good presentation, thanks
@ilkou
@ilkou 16 дней назад
**new architecture added to resume**
@avalagum7957
@avalagum7957 22 дня назад
What problem does the event sourcing try to solve?
@yootoobnoob123
@yootoobnoob123 21 день назад
It tries to solve the problem that software applications change over time. Luckily that describes most software with more than zero users 😅
@avalagum7957
@avalagum7957 21 день назад
@@yootoobnoob123 > that software applications change over time that covers more than 99.99999% of the existing software applications. So, this solution is "one size fits all"? If yes, wow 🙂
@jesprotech
@jesprotech 20 дней назад
Event sourcing allows for applications to be more reactive and thus be able to deal with more simultaneous requests. Event sourcing allows for sourcing of events, which means creating non-blocking processing for each unit of work. Each data is stored and processed later. That way more resources are released more quickly.
@avalagum7957
@avalagum7957 20 дней назад
@@jesprotech Does virtual thread solve the same problem?
@Mig440
@Mig440 20 дней назад
​@@avalagum7957 no they do not. Virtual threads only live within the jvm while event sourcing is an architectural pattern for the entire tech stack including datastores.
Далее
Stray Kids <ATE> UNVEIL : TRACK "MOUNTAINS"
00:59
Microservices with Databases can be challenging...
20:52
Spring Tips: Spring Modulith
37:39
Просмотров 13 тыс.
`const` was a mistake
31:50
Просмотров 122 тыс.
Spring Modulith - A Deep Dive (Workshop)
3:03:13
Просмотров 16 тыс.
iPhone 16 - КРУТЕЙШИЕ ИННОВАЦИИ
4:50
Кто производит iPhone?
0:59
Просмотров 384 тыс.