Dan Nastasa

Dan Nastasa

Software Engineer at Mambu

Bio

As a Software Engineer inside the Mambu Payment Team, Dan gets to play with microservices, Domain Driven Design, Asynchronous communication patterns, Kubernetes, and many others. At the same time, for more than a year, he has been running our services in production, having full vertical ownership: everything related to development, testing, delivery, maintenance, and support.

Dan enjoys a good challenge, is an advocate of continuous learning and development, always searches to learn from people around him, at the same time sharing his knowledge and experience.  

Deep dive into Database Streaming with Java

Many times we find ourselves in the need of reacting to database changes and taking action depending on each case. While the use of triggers might be good enough initially, they tend to slow down the entire system when their number increases. But what about the binary log, a feature which sometimes people tend to leave behind?

During this presentation, you will understand how we can stream database changes using its binary log and also what tools allow us to interact with it and make our Java development lives easier. Of course, live coding examples and good humor will be provided “out of the box” during this talk.


Agenda Talks

Java Week

10:30 to 12:00
03 Nov 2020

Maintaining distributed data consistency using Change Data Capture

One of the most common approaches when designing loosely-coupled (micro)service architectures is using a database per service. But given the fact that these services are communicating asynchronously, how can we make sure that the data remains consistent between all our systems?

Change Data Capture gives us a solution to this challenge: it allows us to react to database changes (insert/update/delete operations) of interest and propagate specific events to our event bus.

During this masterclass, we will be addressing the following topics:

     how to implement this pattern using open-source tools;

     advantages and disadvantages of such an approach;

     different ways to further improve our solution;

     other areas where CDC might prove useful.

While this session will have its examples and coding done in Java, the topics and challenges presented here are generally applicable to distributed systems regardless of the language of implementation. Minimal knowledge of microservice architectural patterns and synchronous / asynchronous communication would ensure your best experience.  

15:05 to 15:35
03 Nov 2020

Deep dive into Database Streaming with Java

Many times we find ourselves in the need of reacting to database changes and taking action depending on each case. While the use of triggers might be good enough initially, they tend to slow down the entire system when their number increases. But what about the binary log, a feature which sometimes people tend to leave behind?