Design decisions
When architecting a system, it is inevitable to make certain high-level design decisions.
Some of these decisions, if they’re wrong, can lead to the re-architecturing and re-writing of the whole system some months later, so there is an incentive to keep things rather generic. On the other hand, trying to make system too generic is just another recipe to disaster (usually expressed in terms of missed deadlines and unmanageable code).
IT Hares try to describe certain not-so-obvious architectural decisions, and some considerations which should be kept in mind while making them.
MMOG Server-Side. Eternal Linux-vs-Windows Debate
January 4, 2016 by • “No Bugs” Bunny
Quote:
Each server is only as secure as its admin
Another Quote:
For cheaper servers, the difference between Windows and Linux can eat as much as 50% of the server rental price (though for those servers which are more or less optimal price-performance-wise observed difference was closer to 20-30%).
Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureRequirement analysisDesign decisions
Read moreClient-Side. Client Architecture Diagram, Threads, and Game Loop
December 14, 2015 by • “No Bugs” Bunny
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: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDesign decisions(Re)Actors
Read moreMulti-threading at Business-logic Level is Considered Harmful
September 7, 2015 by • “No Bugs” Bunny
Quote:
However, the window for triviality is very narrow: for example, even going into two interrelated mutexes instead of one, can easily make multi-threading non-trivial
Another Quote:
Technically you are able to jump to any point of your program, but the variables you see may (and if you have a multi-threaded bug – will) differ every time you jump there.
Filed under: On.System ArchitectureDesign decisionsOn.ProgrammingDebugging
Read moreBest Practices vs Witch Hunts
March 1, 2015 by • “No Bugs” Bunny
Abstract:
Best practices need to be taken critically, otherwise they tend to become witch hunts.
Quote:
Merciless refactoring is good, merciless refactoring having no clue about what you’re doing, is not
Filed under: On.System ArchitectureDesign decisionsOn.DevelopmentDevelopment PhilosophyDevelopment Processes
Read more