week04 作业
一个典型的大型互联网应用内系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
集群
解决并发流量过载问题和解决单点故障问题,保证系统的高可用。
负载均衡
负载均衡是解决集群流量分发的问题,是高性能和高可用的重要保障。负载均衡有基于tcp/ip七层协议的nignx和四层协议的lvs,如果是阿里云的话,有slb。另外dns那边也支持负载均衡。
缓存
将高频访问,且不一变化的数据,放入缓存,加快计算和返回速度,解决高性能问题。缓存有应用内进程缓存,第三方缓存、反向代理缓存,cdn,数据库缓存
消息队列
将业务解耦,采用异步通知的机制,完成各个系统直接的协作。将繁重的计算任务丢给后端业务系统去处理,前端可以快速返回响应。
数据库读写分离
将数据的读操作和写操作分来执行,解决单数据库高负载问题。提供数据库性能
分表分库
解决单表数据量瓶颈,分散数据操作流量,是数据库集群的一种,提高系统性能
ES
es搜索引擎,可以用来解决大数据查询,通过倒排索引加快查询速度,也是分库分表后模糊查询的一种解决方案
ELK
分布式集群后,服务器将非常多,需要向日志进行统一的收集,并提供方便查询的入口界面,同时由于日志数据量大,需要采用ES来建立索引,加快查询速度
监控系统
实时监控服务器各项系统指标,例如:进出流量、cpu负载、内存使用情况、线程数、io频繁度等,并配置阈值,达到一定阈值,发报警信息出来。
网关
在网关层对流量进行控制,限频,限留,保证系统是高可用。对网络各种攻击进行拦截,并验证请求合法。
微服务
将系统进行垂直分割,分割成职责单一的各个子模块,方便业务扩展和维护,不至于改一发而动全身。
服务治理
服务治理是解决微服务拆分之后,服务之间的调用协作关系问题。包括服务提供方如何注册与消费放如何发现服务等问题。提供服务出现异常时的容错策略,熔断、降级等。
评论