On.System Architecture

System Architecture (and it’s subfield Software Architecture) is a discipline which is surprisingly poorly covered. In a sense, it is still more an art than a science, and usually requires somebody intimately familiar with practical systems, to tell what’s to do and what’s to avoid when building a system.

IT Hares have lots of experience in both Software Architecture and more general System Architecture, and are trying to share their knowledge (and more importantly, their feelings) about them.

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: On.System ArchitectureDistributed systemsBook: D&D of MOGs1st beta of Vol. I-III(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: On.System ArchitectureDistributed systemsBook: D&D of MOGs1st beta of Vol. I-III(Re)Actors

Read more

Client-Side. Client Architecture Diagram, Threads, and Game Loop

December 14, 2015 by “No Bugs” Bunny

Queues and Finite State Machines (QnFSM) architecture diagram

Quote:

To have a good concurrency model, it is not strictly necessary to program in Erlang

Another Quote:

Most of developers agree that FSM-based programming is beneficial in the medium- to long-run.

Filed under: On.System ArchitectureDesign decisionsBook: D&D of MOGs1st beta of Vol. I-III(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: On.System ArchitectureDistributed systemsBook: D&D of MOGs1st beta of Vol. I-III(Re)ActorsOn.ProgrammingDebugging

Read more