I understand that node.js is a single thread and is a single process in the memory, I'm working on a project employing state machine and wondering how that will work in this context. I'm feeling the states will be shared across users because it's a single thread or a single process. Calling out for directions/advices.
let's say I've state A, state B, state C
Application can only transition in this sequence, A -> B -> C
Initial state is A,
user 1 requests and as a result the state machine moves to state B and then finally state C
user 2 requests, will the state machine for this new user be in state A or state C?
This article has a very interesting approach on how to deal with the FSM abstraction under an event based environment.
http://www.robert-drummond.com/2015/04/21/event-driven-programming-finite-state-machines-and-nodejs/
See also:
If you know about Stateless C# and experience, you can use Stateless npm porting for TypeScript/JavaScript: https://www.npmjs.com/package/stateless