第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
大型互联网应用系统面临的问题与单机系统、桌面系统有很大的不同。首先它是一套服务,大量的用户使用同一套服务,数据集中在服务上,客户端不保存状态,一切状态以服务端为主。用户分布广,面对的网络环境很复杂,对网络的安全性要求也很高。
因此主要的问题就有:
1.高可用,系统宕机会影响所有使用系统的人,必须保证系统可用
2.高性能,用户量大,请求大,对系统的性能要求高
3.安全性
4.高并发与大流量,这个要看业务的扩展程度
5.海量数据
6.用户分布广,网络情况复杂
7.需求变更快,发布频繁
基本解决方案:
垂直伸缩与水平伸缩
垂直伸缩:买更快的机器,更大的内存,更多的CPU,更大的硬盘,一般前期见效快,成本相对低。

水平伸缩:通过各种手段分解系统,再将系统有机整合起来。如读写分离、微服务,集群,分布式等等
编辑
删除

两种方案的比较

对于业务扩展的解决方案:
使用微服务避免单体发布复杂度高,便于服务扩展。
渐进式发展,与用户共同成长。
总体方法:使用各种架构模式:
分层

分割
分布式
集群
缓存
异步
冗余
自动化
安全管控
版权声明: 本文为 InfoQ 作者【王鑫龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/02dfacc29e181c029d84c2a58】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论