I really enjoyed this playlist on SW Arc. Well done!
@ADevStory10 күн бұрын
Oh thank you! Glad you liked it!
@shubhamjoshi480319 күн бұрын
Is this Steve Jobs teaching Event Driven Architecture? Was very smooth and convincing 😄.
@ADevStory17 күн бұрын
Hahaha thanks. A few _billions_ less rich 😜
@sofias-dg6vn19 күн бұрын
thank you!
@ADevStory17 күн бұрын
You're welcome!
@VirendraBG22 күн бұрын
Good content. Background music is unnecessary and annoying. It makes difficult to focus on what you say.
@ADevStory21 күн бұрын
Thank you! Will try to minimize it in next videos!
@quanhua9224 күн бұрын
I want to ask about the Event Sourcing and CRUD. For example, an Authentication service has API to register new users and a News Feed service generates recommendation for that new user. In this case, Auth service can send USER_CREATED to the Event Log to follow the event sourcing. However, in the case that Event Log is not reachable then you will need an outbox pattern where the Auth service stores events in its local database and send to event log later. I want to ask if it is normal to not use CRUD in the register API and the register API will publish an REGISTER_USER event without storing the data, the auth service has an internal worker that will subscribe to the REGISTER_USER event to store data to its local database and then publish an USER_CREATED event for external services. In this case, no need to do an outbox pattern with the assumption that event log will be high availability.
@ADevStory7 күн бұрын
The event log should always be high availability to prevent that pattern you are mentioning, but it can still happen. It's also OK to combine the patterns as you are mentioning too. At the end these are pieces that can be put together to solve a business problem in the best way possible. Here the typical principles like "Keep It Simple" are relevant. If you can solve the problem with CRUD solve it with it as it will be simpler. If you have multiple that need to be orchestrated and Event Driven works better for you, take that path. If you are having a huge disparity between reads and writes, Event Sourcing and CQRS can help too. Hope it's clearer :)
@quanhua926 күн бұрын
@@ADevStory thanks. I have better understanding now. The pattern where the api handlers don't perform write but publish and listen to the same events is called listen to yourself. However, for the user registration I believe that it is better to use CRUD directly at the handler and using outbox pattern to prevent event log downtime. The reason is that user's personal data is sensitive and it shouldn't be stored in the immutable event log.
@ADevStory6 күн бұрын
It can still be stored in a secured event log. Just like the database needs to be secured. You can also have retention policy for the data in the log too
@reallylordofnothingАй бұрын
cant believe you helped me revise this in 2 mins. thanks
@ADevStoryАй бұрын
Glad I could help!
@RychAhlbergАй бұрын
What’s with the background music? Like seriously why?
@ADevStoryАй бұрын
Why not? 😄 What's wrong with it?
@franklinalfredo3072Ай бұрын
Thanks very much for the fantastic architecture design series. I'm an infrastructure engineer looking for a change in the software career path, which will help me reach my personal goal.
@ADevStoryАй бұрын
Amazing! Thanks for the he feedback and glad you liked it. Please let me know if you'd like additional content
@curious.biochemistАй бұрын
As a chemist, I appreciae your T-shirt! ^-^
@ADevStoryАй бұрын
Hahaha thanks!
@ivandroflyАй бұрын
Thank you :)
@ADevStoryАй бұрын
You're welcome!
@mariamismail8506Ай бұрын
i love how your videos are so on point and direct !!! thank youuu
@ADevStoryАй бұрын
Oh thank you! Glad you like them!
@user-rv9kz9pk2cАй бұрын
Great video!
@ADevStoryАй бұрын
Thank you! Glad you liked it!
@user-rv9kz9pk2cАй бұрын
Love it! I've just decided to go all in into software architecture. This is a great place to start
@ADevStoryАй бұрын
Glad you found it useful! Thanks for the feedback! Let me know if there's specific content you'd like to see
@user-rv9kz9pk2cАй бұрын
@@ADevStory DDD and hexagonal architecture. Basically to know if it's worth it
@ADevStoryАй бұрын
Sounds good!
@petersteel7735Ай бұрын
Very nice! Thank you for the video! One recommendation, invest in a microphone to increase sound quality. My ears are bleeding 😂
@ADevStoryАй бұрын
Yeah newer videos sound better. Sorry about that!
Ай бұрын
pen and paper - love it.
@the0nerens2 ай бұрын
Great video! Thanks
@ADevStory2 ай бұрын
Glad you liked it!
@felipecaetano152 ай бұрын
Great video, thanks a lot! I just wish audio was a little bit clearer. Since I'm not a native english speaker I had trouble understanding some parts. I tend to dislike videos with background music for the name reason. Bus still amazing. Moving on to the next parts!
@ADevStory2 ай бұрын
Oh I try also to have subtitles in other languages and fix the close captioning to help in that sense, but I'll take the feedback also for new videos. Thanks!
@amolsawant42 ай бұрын
Thank you for the series.. it's one of the best I have seen on the topic.
@ADevStory2 ай бұрын
Thank you! Glad you liked it!
@user-eo7pe5tc7g2 ай бұрын
Muy buen video. Saluos desde México
@ADevStory2 ай бұрын
¡Gracias!
@sufiprasetya23732 ай бұрын
Great explanation
@ADevStory2 ай бұрын
Thank you!
@neerumallaaishwaryaneeruma19492 ай бұрын
Tqsm sir
@ADevStory2 ай бұрын
Thank you!
@linety0072 ай бұрын
LOVE the architecture design series , ty for the top notch explanation and the the great visual exemples
@ADevStory2 ай бұрын
Thank you very much! I've been busy but I'll try to create a few more soon
@raitup003 ай бұрын
La intro me gustó ❤
@tonyrouillard87183 ай бұрын
The video seems to jump to another topic at 4:07.
@kevingreetham41753 ай бұрын
What I’ve never been able to understand tho is how do we know what engine and tyre refers to what car though if they are not stored within the same class? Do I have a common id between classes or should I store the engine and tyre classes as properties of the specific instantiated car object and provide methods from the car object which target thr internal class ?
@ADevStory3 ай бұрын
It depends, if your class relies directly on a specific behavior of an implementation then you need to include that one. For example: A Toyota Camry requires engine X. But sometimes you might even generalize it and say: a Toyota Camry has an engine. The constructor for ToyotaCamryCass only needs to recieve an object of type "engine" and doesn't care which specific engine it is.
@ADevStory3 ай бұрын
Hope it makes sense
@salamesalehpour3 ай бұрын
very very usefull
@ADevStory3 ай бұрын
Glad you liked it!
@MyHussnain3 ай бұрын
Thank you for the explanation it was really comprehensive! My question is, can a response to an event (order) can also be an event (order/event)?
@ADevStory3 ай бұрын
Yes it can. But keep in mind that if you are expecting a response it would be a request-response model .
@PrashantShekher3 ай бұрын
Diagram is more intuitive and easier to understand, so thank you for this. My question is: Imagine designing a backend system for a todo list application where data consistency across Redis, PostgreSQL, and Elasticsearch is essential. To achieve this while eliminating Dual Write, two distinct approaches can be considered: Kafka with Separate Topics and Consumers: Utilizing Kafka, this approach involves creating three separate topics ("todo-cache-ingestion", "todo-storage-ingestion", and "todo-search-ingestion"). If create API call to create a new todo would publish messages to these topics. Subsequently, distinct consumer processes would handle data storage in Redis, PostgreSQL, and Elasticsearch, respectively. and what is we fetch all or specific data here? and second approach is Event Sourcing approach? But How? and what is the issue in first approach?
@ADevStory3 ай бұрын
Hello! Glad you liked the video! So probably event driven architecture doesn't fit the todo list case as well as other approaches, but let's use it for the example. One thing to consider here is that you can't have strong consistency in both reads and writes here. You may achieve eventual consistency. So for the fist case, if you read all the to dos from the list you need to decide from which system. Depending on the number of writes they may not be aligned (you may be able to search but not retrieve from cache for example). If there are no writes you may be able to eventually get them all in sync. First and second approach are similar. I'm not sure about the question. What did you mean?
@iShobhakar3 ай бұрын
I love this way , and I am searching for this approach only where people don’t think about technical words but do align with the some practical examples. I really appreciate this and very thankful for sharing and serving to community
@ADevStory3 ай бұрын
Thank you very much! Glad you liked it! Let me know if you have other topics you'd like me to cover.
@abhishek-943 ай бұрын
Hi, your channel is very good! Please make more videos on all aspects of system design and architecture. You mentioned horizontal scaling is not cheap to do? Isn't the reverse true, as we can get a lot of commodity hardware when we want, unlike in case of vertical scaling where we need a expensive machine.
@ADevStory3 ай бұрын
Hello! thanks! I'm glad you are enjoying the content! So in terms of hardware, commodity hardware is cheaper but you need many more than just one server. But I was referring mostly to the architecture complexity of building software that scales horizontally vs vertically. You need to take way more considerations like load balancing, network, consistency level, transactions, etc Hope is clear now :)
@ultimateguru23 ай бұрын
I watched the full course, amazing compilation.!
@ADevStory3 ай бұрын
Thanks! Glad you liked it!
@chithiravelupothirajan99744 ай бұрын
Hi Chiristian, Great Content, Thanks for this wonderful video. I have one question, what is that BE represents in your layered architecture diagram?
@ADevStory4 ай бұрын
Thank you! Glad you liked it. BE represents an instance of the Back-End service
@ralfrolfen55044 ай бұрын
Very well explained saga pattern! Thank you! #Thankyou
@ADevStory4 ай бұрын
Glad you liked it!
@abubakarchohan11884 ай бұрын
excellent!
@LightVibrationPresenseKindness4 ай бұрын
great channe!
@ADevStory4 ай бұрын
Thank you! Glad you liked it!
@mostinho74 ай бұрын
5:45 orchestration vs coreography. In orchestration, there is a central orchestrator that calls the other services, but in choreography the services listen and react to events
@imdanielh5 ай бұрын
🤌🏻🤌🏻🤌🏻😅
@ADevStory5 ай бұрын
😅
@md4n13l5 ай бұрын
A tu avatar de IA se le olvidó lo que tenía que decir en un momento, jajaja. Prefiero el verdadero Christian.
@ADevStory5 ай бұрын
Jajaja a mí se me olvidan más 🤣
@latifkhan5355 ай бұрын
Happy New Year 🎊
@ADevStory5 ай бұрын
Thank you! You too!
@chessmaster8565 ай бұрын
It is not enough to say it may be difficult or complex. You are supposed to say I have solution to it to the very last detail and there is nothing hard. Thus is how you can solve it
@chessmaster8565 ай бұрын
Some implementation rs required. Architects deem to be complacent about not going full length, conveniently avoiding some details
@user-vx2dd3bx6n5 ай бұрын
best explanation I have ever seen !
@ADevStory5 ай бұрын
Thank you! Glad it was useful!
@user-gq8mt8dh3w5 ай бұрын
❤ ❤ ❤
@user-xu2qj3hs5z5 ай бұрын
But I am a french guy and i really want to have that pdf of software architecture patterns. What can I do ?😟😟
@ADevStory5 ай бұрын
Sadly not possible anymore. O'Reilly made it paid.
@allenprinceton51256 ай бұрын
little fan from Taiwan, thanks for the excellent tutorial
@ADevStory6 ай бұрын
Thank you for your words! Feel free to let me know any content you'd like to see.
@mohamedlaminecheblaoui14016 ай бұрын
just wanna thank u, I found it very helpful and I really enjoyed watching this video. thank you for your time.
@ADevStory6 ай бұрын
Thank you for watching and sharing your feedback! Glad it was useful! If you like a video on a specific topic please let me know
@oguzhan23936 ай бұрын
is api gateway service discovery? Because api gateway also stores the services IP location and so on.
@ADevStory6 ай бұрын
Good question! The short answer is: no. The api gateway uses service discovery to find the service to call