Distributed Systems Architecture: Authentication, authorization and ping-pong nonsense.

1–2 minutes

In the last post we explored the problems of accepting connections in high concurrency applications.
One of the significant points in opting for asynchronous queue-digester-based solutions is, in my opinion, the management of the client-server relationship from the point of view of authentication, authorization, limitations, etc.

This reflection did not take long to bring to my mind the hell of authorization flows in distributed systems and how complex (and absurd) they turn out to be.

In this article we will try to summarize authorization flows, the complications we have in distributed architectures and what, from my point of view, is an alternative solution to address them once and for all.

Continue reading “Distributed Systems Architecture: Authentication, authorization and ping-pong nonsense.”

MMO Architecture: client connections, sockets, threads and connection-oriented servers

More on MMO Architecture:
- MMO Architecture: Source of truth, Dataflows, I/O bottlenecks and how to solve them
- MMO Architecture: Optimizing Server Performance with Lockless Queues
- MMO Architecture: Area-Based Sharding, Shared State, and the Art of Herding Digital Cats

In the MMO-type online gaming landscape, we are often faced with the challenge of managing a high demand for connections. Unlike regular applications, these systems must maintain a smooth and enjoyable gaming experience even amidst the digital chaos of having thousands of players interacting in real time.
Layered architectures, dedicated servers per area and countless arcane spells of forbidden magic are employed to achieve this.

Continue reading “MMO Architecture: client connections, sockets, threads and connection-oriented servers”

Distributed Systems Architecture: Embracing Strictly-Deterministic Logic for Enhanced Consistency and Debuggability

When working with distributed systems, the consistency of results of the running logic often suffers, yes, even with test coverage!
Sometimes it is a matter of race conditions, sometimes a matter of delays or bottlenecks or simply messages getting lost into the abyss of the digital cosmos.
To keep the entropic chaos at bay, the armory must be equipped with recovery, analysis, diagnosis, and debugging techniques. These techniques serve as the bedrock not only for operational and systemic realms but seep into the design ethos as well.

Continue reading “Distributed Systems Architecture: Embracing Strictly-Deterministic Logic for Enhanced Consistency and Debuggability”
Design a site like this with WordPress.com
Get started