That's a great outline of the Cell-Based Architecture, Neo! And to be honest, I haven't heard about it till now. And as you shared, that's a great addition and enhancement to the microservices.
I think its gaining some traction now, in my current company we are already evaluating and doing a POC for it. Would be happy to write about it once its in action until then its difficult to say.
Maybe I lack conceptual understanding - but the diagram shows each cell with its own server, load balancer, and db. So I’m wondering what mechanisms are used to keep all those db’s in sync if clients are making requests that could be routed to any of n potential cells.
There could be cell replicas for high availability. But a customer gets routed to the same cell. And a cell could either represent a bounded context or the entire application.
If concurrency between users on different cells arise, perhaps reserved quota can be used. I don't know the right answer to this question.
That's a great outline of the Cell-Based Architecture, Neo! And to be honest, I haven't heard about it till now. And as you shared, that's a great addition and enhancement to the microservices.
thanks. It's still in an early adopter phase - so it was a new concept for me as well.
I think its gaining some traction now, in my current company we are already evaluating and doing a POC for it. Would be happy to write about it once its in action until then its difficult to say.
pretty cool. I'd love to know about your observations with the PoC.
I wasn’t aware of this before; I’ll definitely look into it further. Great article
But the cell router may become the single point of failure still?
How do you handle data concurrency across an application between cells with different databases?
can you give a more specific example?
Maybe I lack conceptual understanding - but the diagram shows each cell with its own server, load balancer, and db. So I’m wondering what mechanisms are used to keep all those db’s in sync if clients are making requests that could be routed to any of n potential cells.
There could be cell replicas for high availability. But a customer gets routed to the same cell. And a cell could either represent a bounded context or the entire application.
If concurrency between users on different cells arise, perhaps reserved quota can be used. I don't know the right answer to this question.