大型互联网应用的技术方案

用户头像
GalaxyCreater
关注
发布于: 2020 年 06 月 24 日





缓存

  • 解决的问题:减少数据库、文件访问;减少重复的计算,提高相应速度

  • 技术方案:

  • 分布式缓存:redis集群(更优)、memcache

  • 内存缓存



分布式数据库

  • 解决的问题:

  • 避免单点故障,冗余备份,提高容灾能力;

  • 资源使用方便弹性伸缩;

  • 技术方案:

  • mysql集群



CDN和反向代理

  • 解决问题:

  • CDN解决资源下载慢,主资源服务器压力过大问题;

  • 反向代理解决CDN不命中时,回源查找对应的资源

  • 技术方案:

  • 运营商

  • 自建idc

  • 云厂CDN



nosql和搜索引擎

  • 解决的问题:

  • 数据量越大,关系型数据库不能满足日新月异的需求,更关注响应速度

  • 技术方案:

  • MongoDB、ELK



应用服务集群化

  • 解决问题:

  • 避免单点故障

  • 并发瓶颈

  • 如何水平扩展问题

  • 服务之间依赖严重

  • 重复造轮子

  • 技术方案:

  • 业务拆分,应用服务器无状态

  • 微服务化:远程调用方式使用服务;开发有序,减少组件相互依赖,方便代码维护,版本可控。

  • 中台化:将公共服务集成,可复用,避免开发重复业务,提高开发效率



分布式文件服务器

  • 解决问题:

  • 每天文件越来越大,单机已容不下

  • 提高存取速度

  • 技术方案

  • dfs、oss



消息队列

  • 解决问题:

  • 业务高峰并发异常高,削峰填谷

  • 提高响应速度、业务稳定性



  • 技术方案:

  • kafka、RocketMQ等

负载均衡

  • 解决问题:

  • 动态分配流量

  • 访问控制等

  • 技术方案:

  • slb、nginx



发布于: 2020 年 06 月 24 日 阅读数: 43
用户头像

GalaxyCreater

关注

还未添加个人签名 2019.04.21 加入

还未添加个人简介

评论

发布
暂无评论
大型互联网应用的技术方案