ОБ ЭТОМ ЭПИЗОДЕ
Full episode notes: https://threedots.tech/episode/sync-vs-async/
Quick takeaways
- Start with synchronous architecture by default - it’s simpler to understand, debug, and maintain for most use cases
- Async architecture improves scalability and resilience - message queues and events help handle traffic spikes and failures
- Design matters more than the technology choice - tight coupling creates the same problems in both sync and async approaches
- Consider team experience - async architecture require more experienced teams and better tooling to handle new challenges
- Adjust as your system grows - external APIs, heavy operations, or the need to handle failures gracefully are good use cases
- Hybrid approach - use both sync and async where they fit best, rather than forcing one over the other
In this episode, we discuss when to choose synchronous versus asynchronous architecture for backend systems.
We talk about the trade-offs between simple, predictable sync communication and the complexity but resilience of async approaches using message queues and event-driven architecture.
Instead of picking one approach over another, we focus on understanding when each makes sense and how to avoid common pitfalls like distributed monoliths and over-engineering.
- Go Event-Driven training
- Watermill - our open-source Go library for working with message streams
- Event Storming - a design technique with a great unfinished ebook by Alberto Brandolini
- CQRS (Command Query Responsibility Segregation) - a pattern that works well with both sync and async approaches
- Our CQRS article and Server-Sent Events post
- Message brokers mentioned: RabbitMQ, Kafka, NATS, Google Cloud Pub/Sub
- Event schemas: Protobuf, Avro, CloudEvents
- Event Sourcing - a pattern mentioned in context of recreating state from events
- Clean Architecture/Hexagonal Architecture - architectural patterns mentioned for making sync/async migration easier
IntroductionShow Notes
английский
США
РАСШИФРОВКА 🔗
Are you the producer of this podcast?
Add a podcast transcript
Need Audio-to-Text?
Transcribe with Listen411 in Just 60 Seconds
ПОИСК ПРОШЛЫХ ЭПИЗОДОВ
Искать прошлые эпизоды NO SILVER BULLET.
ДРУГИЕ ЭПИЗОДЫ В ЭТОМ ПОДКАсте
Full episode notes: https://threedots.tech/episode/unpopular-opinions-about-go/
Quick takeaways
Simplicity isn’t enough for complex applications - while Go’s syntax is simple, complex applications still need proper design patterns; primitive code easily becomes spaghetti code in large projects.
R…
Full episode notes and transcript: https://threedots.tech/episode/is-clean-architecture-overengineering/
In this episode of the No Silver Bullet podcast, we discuss Clean Architecture and whether it's overengineering or a best practice for organizing code.We talk about why the pattern is often con…
In this episode, we discuss how to learn effectively as a software engineer. Why some people seem to learn faster than others? What are some practical ways to speed up your learning? Instead of promising magical shortcuts to becoming a principal engineer in months, we focus on a more balanced appro…
Episode notes: https://threedots.tech/episode/history-of-watermill/
Quick takeaways
Solve real problems first - successful open source projects start by addressing actual needs, not by looking for problems to fit a solution
Keep breaking changes minimal - Watermill stayed on v1 for 6 years with n…
Отказ от ответственности: Подкаст и иллюстрации, встроенные в эту страницу, взяты из Three Dots Labs, который является собственностью его владельца и не связан или не одобрен Listen Notes, Inc.
ИЗМЕНИТЬ
Спасибо, что помогаете поддерживать базу подкастов актуальной.