Difference between revisions of "BasicDesignTenets"
Line 11: | Line 11: | ||
#* '''a)''' Especially logic. Move logic to where state naturally exists. | #* '''a)''' Especially logic. Move logic to where state naturally exists. | ||
# Accept eventual consistency and use it everywhere you can. | # Accept eventual consistency and use it everywhere you can. | ||
+ | # Test everything. | ||
+ | #* '''a)''' We require tests with submitted code. (We will help you if you need it) |
Revision as of 21:26, 18 July 2010
Basic Design Tenets
- Scalability and elasticity are our main goals
- Any feature that limits our main goals must be optional
- Everything should be asynchronous
- a) If you can't do something asynchronously, see #2
- All required components must be horizontally scalable
- Always use shared nothing architecture (SN) or sharding
- a) If you can't Share nothing/shard, see #2
- Distribute everything
- a) Especially logic. Move logic to where state naturally exists.
- Accept eventual consistency and use it everywhere you can.
- Test everything.
- a) We require tests with submitted code. (We will help you if you need it)