系统设计时要考虑哪些方面?

一、性能

  1. 将多台服务器组成集群,使用负载均衡将请求转发到集群中,避免单一服务器的负载压力过大导致性能降低。
  2. 使用缓存来提高性能。缓存位于内存中,速度快。
  3. 异步。将操作转换为消息,发送到消息队列中,然后立即返回,之后通过异步来处理这个操作。

二、伸缩性

伸缩性指向集群中添加服务器来缓解不断上升的用户并发访问压力和增长的数据存储需求。

  1. 通过负载均衡器来向集群中添加新的服务器。
  2. 对于关系型数据库可以通过水平切分,将数据分布到不同的节点上,来解决单台服务器的存储空间限制。
  3. 可以使用伸缩性非常好的非关系型数据库

三、扩展性

  • 指的是添加新功能时对其他应用没有影响,也就是低耦合。可以使用消息队列进行解耦,应用之间通过传递消息来通信。

四、可用性

  • 冗余: 使用多个应用服务器,当某个应用服务器故障时,负载均衡器将请求转发到另一个应用服务器上。存储服务器的冗余采用主从复制来实现,主服务器故障时,切换从服务器为主服务器。
发布了307 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/dl674756321/article/details/103743137