Design Patterns (or techniques) for Scalability

前端 未结 5 1065
既然无缘
既然无缘 2021-01-29 18:56

What design patterns or techniques have you used that are specifically geared toward scalability?

Patterns such as t

5条回答
  •  甜味超标
    2021-01-29 19:51

    Nothing is free - it comes down to what are the acceptable compromises in order to meet your business objectives. The main variables being:

    • Cost
    • Availability
    • Consistency
    • Survivability (e.g., Partition Tolerance)

    An excellent paper to read on the subject.

    I believe a good metric would be to examine the "cost/user" curve and try maintaining it to linear progression (assuming the acceptable cost per user is a known parameter :-)

    The Design Patterns do play a role but it is the overarching architecture that matters most. One might have been very thorough at the module level but missed network level constraints and scalability suffers as a consequence.

    At the end of the day, I believe one must ask himself (herself): for failure type X, how many "users" can be affected and for how long?

    There will always be a SPOF (Single Point Of Failure) somewhere but one can engineer a system such that this SPOF is moved closer to the end-points (e.g. users). In many cases though, the SPOF is out of the control of the application e.g. network POP unavailable.

    Anyway, I could spend hours on the subject...

提交回复
热议问题