对现有系统影响最小的情况下,系统功能可持续扩展。
主要手段有消息队列和分布式服务。
一、分布式消息队列
处理流程:
a. 消息生产者将消息推送给消息队列服务器;
b. 消息队列服务器将消息写入内存队列后返回成功;
c. 消息队列服务器根据订阅列表查找消费者程序,将消息发给消费者程序。
可用性:消息存储在生产者内存中,直到消费者程序处理后才从内存中删除,这样即使队列server宕机,也可以通过重发消息避免消息丢失。
伸缩性:当队列集群加入新的服务器时,通知生产者更改消息队列服务器列表。
二、分布式服务
Dubbo
三、可扩展的数据结构
传统DB在设计表时需要指定字段名称和字段类型,而Nosql使用columnfamily,创建表时只需要指定columnfamily名称,不需要指定字段,可以在数据写入时再指定,这样数据表可以包含数以万计的字段,数据结构可以随意扩展。
网友评论