Distributed systems

Wikipedia defines a distributed system as a “software system in which components located on networked computers communicate and coordinate their actions by passing messages.”

In modern world, more and more systems become distributed. Yet, surprisingly few authors write about practical architecture of distributed systems. As our Hare have architected all kinds of distributed systems, from a stock exchange to a billion-messages-a-day game, we’re in a very good position to fill this gap.

MMOG. RTT, Input Lag, and How to Mitigate Them

January 25, 2016 by “No Bugs” Bunny

The game of Client-Server

Quote:

For fast-paced games, there is one big problem with the flow shown on this diagram, and the name of the problem is “latency” (a.k.a. 'input lag')

Another Quote:

No, better bandwidth doesn't necessarily mean better latency

Filed under: Book: D&D of MOGs1st beta of Vol. I-III1st beta of Vol. VII-IXOn.System ArchitectureDistributed systemsOn.ProgrammingNetwork ProgrammingOn.SecurityFraud Prevention

Read more

Server-Side Architecture. Front-End Servers and Client-Side Random Load Balancing

December 28, 2015 by “No Bugs” Bunny

Front-End Servers as an Offensive Line

Quote:

[about Round-Robin DNS] one of these returned IPs can get cached by a Big Fat DNS server, and then get distributed to many thousands of clients

Another Quote:

As a rule of thumb, Front-End Servers are a Good Thing™

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDistributed systems(Re)Actors

Read more

Server-Side MMO Architecture. Naïve, Web-Based, and Classical Deployment Architectures

December 21, 2015 by “No Bugs” Bunny

Building from servers

Quote:

If you disrupt the game-event-currently-in-progress for more than 0.5-2 minutes, for almost-any synchronous multi-player game you won't be able to get the same players back, and will need to rollback the game event anyway.

Another Quote:

However, keep in mind, that all fall-tolerant solutions are complicated, costly, and for the games realm I generally consider them as an over-engineering (even by my standards).

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDistributed systems(Re)Actors

Read more

Client-Side. On Debugging Distributed Systems, Deterministic Logic, and Finite State Machines

December 7, 2015 by “No Bugs” Bunny

Finite State Machine, Hare Style

Quote:

After your logic has failed in production, you can “replay” this inputs-log on your functionally identical in-house system, and the bug will be reproduced at the very same point where it has originally happened.

Another Quote:

You can implement your Finite State Machine as a deterministic variation of a usual event-driven program

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDistributed systems(Re)ActorsOn.ProgrammingDebugging

Read more