Week4 作业一
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
数据方面:
读写分离,一主负责读写、多从机用作读,解决大型互联网中读多写少问题;
分库分表,按照业务将一个数据库拆分成多个数据库,提升数据库的读写容量;按照行数、hash 和列将一个表拆分成多个表,减少单表读写压力;
缓存服务,进一步提升应用读服务的能力,解决数据库的读压力问题,需要考虑读写不一致性的情况;
ElasticSearch,解决数据库中全文检索的性能问题;
HBase,解决大数据存储问题;
服务方面:
线程池+Reactor, 解决 IO 阻塞带来单机性能瓶颈问题;
集群,解决单机服务性能瓶颈问题;
消息队列,解决服务间依赖 &扩展问题、异步处理消息、排队问题。在使用时,需注意幂等、消息乱序、消息积压等问题;
限流、熔断、降级等技术,避免因弱依赖导致自己服务不可用问题;
版权声明: 本文为 InfoQ 作者【Coder】的原创文章。
原文链接:【http://xie.infoq.cn/article/843d08873d75403eea6b2d347】。未经作者许可,禁止转载。
评论