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.

Part VIIa: Security (TLS/SSL) of 64 Network DO’s and DON’Ts for Multi-Player Game Developers

July 13, 2015 by “No Bugs” Bunny

IP Security

Quote:

Design of secure protocols is a thing which even security professionals have lots of problems with.

Another Quote:

In the security field, if you can disable something unused – you SHOULD do it

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork ProgrammingOn.SecurityBest Practices

Read more

Part VI: TCP of 64 Network DO's and DON'Ts for Multi-Player Game Developers

July 6, 2015 by “No Bugs” Bunny

TCP handshake performed by rabbits: SYN - SYN+ACK - ACK

Quote:

In addition, if TCP_NODELAY is set, it MIGHT help to mitigate consequences of exponential backoff algorithm in case of lost packets.

Another Quote:

All of us are seeing 'hung' HTTP connections on a regular basis – that is, when we've clicked a link, and the page loading is stuck forever.

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more

Part V: UDP of 64 Network DO's and DON'Ts for Game Engines

June 29, 2015 by “No Bugs” Bunny

UDP: no warranties of any kind

Quote:

In general, lag and jitter are not specific to UDP, and manifest themselves for absolutely any Internet connection.

Another Quote:

If you need a globally-reachable server with single-digit-ms lag for all the players, it is simply not possible

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more

Part IV: Great TCP-vs-UDP Debate of 64 Network DO’s and DONT’s for Game Engines

June 22, 2015 by “No Bugs” Bunny

Tug of War: TCP vs UDP

Quote:

Why bother with UDP at all? The answer is simple: there is a price tag attached to the TCP goodies.

Another Quote:

Implementing your own reliable-delivery protocol over UDP is extremely complicated, time-consuming, and error-prone.


Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more