扩展性:指对现有系统影响最小的情况下,系统功能可持续扩展或提升(升级)的能力。
架构设计遵循开闭原则:对扩展开放,对修改关闭;
架构师最大的价值:不在于掌握多少先进的技术,而在于具有将一个大系统切分为N个低耦合子模块的能力;
扩展性提升手段:
1、系统纵向分层、横向分割;
2、事件驱动架构、分布式消息队列;
为了避免消息队列服务器宕机造成信息丢失,会将消息成功发送到消息队列的消息存储在消息生产者服务器,等到消息真正被消费者处理后才删除消息。
当消息队列服务器宕机后,生产者服务器会选择分布式消息队列服务器集中在其他的服务器发布消息。
为了避免消费者进程处理缓慢,分布式消息队列服务器内存空间不足造成的问题,内存队列已满,会将消息写入磁盘;当内存队列消息被处理完后,将磁盘内容加载到内存队列继续处理。