可扩展性的设计模式(或技术) [英] Design Patterns (or techniques) for Scalability

查看:137
本文介绍了可扩展性的设计模式(或技术)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您使用哪些设计模式技术专门针对可扩展性



模式,如 Flyweight 模式似乎是一个专门版本的 工厂模式 ,以提高高可扩展性,或在内存或存储限制内工作。



您使用过其他人? ( 数据库非规范化 等。)发现当高可用性或可扩展性是您的主要目标时,规则会发生变化?



可能的情况是:




  • 具有更多内存限制,处理能力的移动设备,和连接性比桌面或笔记本电脑

  • 有限硬件上的高用户数量(缓存策略等)

  • 优化数据库架构以提高效率标准化设计的代替(例如SharePoint列换行存储)


解决方案

请记住:




  • 无状态应用程序

  • 松散耦合

  • 不同步

  • 懒惰加载

  • 缓存

  • 并行性

  • 分区

  • 路由



某些资源:




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

Patterns such as the Flyweight pattern seem to me to be a specialized version of the Factory Pattern, to promote high scalability or when working within memory or storage constraints.

What others have you used? (Denormalization of Databases, etc.) Do you find that the rules change when high availability or scalability is your primary goal?

Possible situations are:

  • Mobile devices with more limited memory, processing power, and connectivity than a Desktop or Laptop
  • High # of users on limited hardware (caching strategies, etc)
  • Optimization of database schema for efficiency in lieu of a normalized design (e.g. SharePoint column wrapping for storage)

解决方案

A few patterns that come in mind:

  • Stateless application
  • Loose coupling
  • Asynchrony
  • Lazy loading
  • Caching
  • Parallelism
  • Partitioning
  • Routing

Some resources:

这篇关于可扩展性的设计模式(或技术)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆