Тёмный

Rethinking Reactive Architectures - David Leitner - NDC Oslo 2021 

NDC Conferences
Подписаться 198 тыс.
Просмотров 3,6 тыс.
50% 1

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

 

7 окт 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 8   
@boldisj
@boldisj 2 года назад
Most of concepts I already knew, however nicely packed together. Looking at sharding as another layer of scalability I really like.
@russellf
@russellf 2 года назад
Excellent talk. It should have been titled, “The correct way to build microservices”.
@Mortenkp1
@Mortenkp1 2 года назад
My favourite talk at NDC Oslo 2021 👍
@MidnightSt
@MidnightSt 2 года назад
"destiny operator" - nice, a new fancy name for functions.
@russellf
@russellf 2 года назад
I’m surprised more languages haven’t provided such an operator. However it grates against the default imperative nature of languages. Take a AND expression, for instance. The AND expression should really only be satisfied when the left and right expressions are available and each of those expressions could be running in parallel. You can only get close to this in popular languages using async/await but should really be more primitive than that. Bring on proper reactive languages!
@ks1970in
@ks1970in 2 года назад
Great talk. How does one track what is going on 'overall' and if there are any issues? Assuming we write these reactive services around customer journey/stories ("use-cases") - and we end up splitting processing of various steps of the journey amongst several reactive microservices (at some well-considered appropriate level of granularity). Now how best do we track, say a user transaction for use-case A, which had 4 stages to be processed by 4 different reactive microservices - at which stage the processing is at the moment for the user? How many such transactions completed (and at what rate - as ultimately the customer may care about overall latency in processing her requests)? How many are in what stage? Is the stream processing going smoothly at some desired rate? Is there a bottleneck developing? "What is going on in my system"?
@russellf
@russellf 2 года назад
I would say with structured log events. It’s a good fit as many of your questions related to operational views of system health. Given you are logging the right fact, you could build some useful dashboards in Kibana, Graphana or Seq.
@ericblankenburg
@ericblankenburg 2 года назад
Scalable, distributed workflows can be done using two different patterns - orchestration and choreography. Orchestration is easier because each transaction has a central orchestrator that manages the flow, implements retry logic, and deals with failure conditions using semantic backout logic. The downside is that it tends to tightly couple the services together. Choreography is loosely coupled, but it is much more complicated because each service manages its own rules. Specifically, the service that owns a specific piece of data owns the rules for that data. My view is that services need to emit failures (customer X changed failed) in addition to update successes (customer X changed). Other services need to subscribe to those error events and act appropriately. If you need a single view of a "transaction" you can have a state service that subscribes to the global event stream and projects those events into a current state for each transaction.
Далее
Dapr in Practice - Marc Klefter - NDC Oslo 2024
54:17
Просмотров 1,5 тыс.
ОРБИЗ-ГАН за 1$ vs 10$ vs 100$!
19:01
Просмотров 342 тыс.
Building the Formula 1 App with React Native
3:58:45
Просмотров 248 тыс.
Power Apps Model Driven Apps FULL COURSE for Beginners
3:23:34
Kubernetes 101 workshop - complete hands-on
3:56:03
Просмотров 1,6 млн
Marvin Minsky
1:33:35
Просмотров 845 тыс.