架构师训练营 week4

用户头像
devfan
关注
发布于: 2020 年 07 月 01 日

作业一:

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

前端架构

  • 前端开发框架:统一的代码规范,发布流程,工程化的流程规范开发者

  • CDN:将静态资源分发到离用户最近的节点, 比如 GeoDNS:基于开源域名服务器软件 BIND(Berkeley Internet Name Domain)的增强版本,可将域名解析到离用户最近的服务器

  • 动静分离:缓存静态资源,加速页面加载

比如:Lighttpd:开源的应用服务器,较主流的 Apache 服务器更轻量、更快速。实践中,有许多网站使用 Lighttpd 作为图片服务器。

网关架构

  • 流量鉴权:过滤非法流量

  • 负载均衡

  • 协议转换

  • 业务拆分

比如:LVS:基于 Linux 的开源负载均衡服务器

服务架构

  • 微服务架构:多人协作开发大型系统,解耦,可扩展,

  • 分布式:高可用,高性能,

  • 消息队列:解决“写多”,流量控制,系统解耦。常用的MQ,RabbitMQ,Kafka,RocketMQ

  • 配置中心:可以用zookeeper实现

  • RPC框架:比如 dubbo,是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案。

  • 缓存:减少数据库压力,加快查询速度。 Memcached:无中心高性能的开源分布式缓存系统,稳定、可靠、历久弥新,是网站分布式缓存服务必备的。

  • 读写分离:解决“读多写少”问题

  • 任务调度中心:xxl-job

存储架构

  • 数据库分库分表:高可用,提升 sql 速度,MySQL:开源的关系数据库管理系统。

  • NoSQL:高可用,速度快。redis,最常用的缓存技术, Hbase,海量数据库,数据统计分析

  • 大数据存储:解决海量数据存储问题

后台架构

  • 大数据技术: Haddop

  • 搜索技术:Lucene:由 Apache 出品,Java 开发的开源全文搜索引擎。ElasticSerach 全文检索技术,解决海量数据搜索的问题

  • AI 技术

用户头像

devfan

关注

还未添加个人签名 2017.11.12 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 week4