I am working on an existing typescript backend service that receives events and takes actions based on those events. I would like to further my understanding of event driven finite state machines, so that I can apply well known patterns in hopes of improving maintainability and reliability of existing services. I am also keenly interested in deepening my understanding of state machines and modern design philosophy, so that I may design future systems that are highly reliable and maintainable.<p>What resources do you recommend? I am a book lover, so I am happy spending money on books, but I am interested in any and all resources, including online course-ware.
After having implemened many complex distributed state machines I started thinking along the terms of how do abstract away the engineering part of it and provide a platform for writing business logic. Technical term for it is workflow orchestration. You might have heard of AWS Step functions.<p>Check out Temporal, it's open source and lot of architecture videos exist. I've been trying to experiment with it to rewrite my old projects using it.
There are a lot of resources on finite state machines, especially in TypeScript, here: <a href="https://stately.ai/docs/state-machines-and-statecharts" rel="nofollow">https://stately.ai/docs/state-machines-and-statecharts</a>