首页 > 其他 > 详细

互联网应用架构概览-学习笔记

时间:2019-11-06 00:02:45      阅读:107      评论:0      收藏:0      [点我收藏+]

https://developer.aliyun.com/edu/course/33/learn#lesson/621

 

1 互联网应用架构概览

技术分享图片

 

 

 

 技术分享图片

 

 

 负载均衡器:将用户请求分配给网页服务器处理WebServer

WebServer: 返回图片、网页等静态内容,将动态内容(购物车)等分配给应用服务器AppServer

缓存服务器:缓存常用的数据库结果

 

2 网络链路存在的问题及解决方案

技术分享图片

 

 

 第一公里

BGP: 用各个运营商的网络都能最快访问同一个IP

技术分享图片

 

 

第二公里 

CDN: 用户A访问静态内容后将内容缓存在最近的CDN节点,使得同一个CDN节点下其他用户能直接访问该缓存,不用直接访问服务器降低访问时间

技术分享图片

 

 

 技术分享图片

 

 

 ?:DNS工作模式

技术分享图片

 

 

 

技术分享图片

 

 

 技术分享图片

 

 

 

3 CDN架构及配置

技术分享图片

 

 技术分享图片

 

 使用前后对比:

使用前:由原站返回,用了BGP,延迟在20ms左右。 不用BGP则在几百ms左右

使用后:由CDN节点返回,延迟在10ms内

技术分享图片

 

 

课时4:应用层横向扩展——负载均衡

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 两个关键点:1 负载均很服务器 2 应用镜像化

 

课时5:应用层缓存提升性能

 技术分享图片

 

 

 应用服务器可以横向拓展,数据库不行。所以使用应用层缓存起到:1 降低数据库压力;2 提升数据库响应时间的作用

技术分享图片

 

 

 

热点数据:例如电商网站里面用户的信息数据

技术分享图片

 技术分享图片

 

 技术分享图片

 

 存储HTTP session等会话数据,避免因为应用服务器故障导致会话丢失

 

技术分享图片

 

 两个应用缓存产品

 

 

 

课时6:同步转异步处理

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 高并发:每秒几百万甚至上千万访问请求

技术分享图片

 

 应用服务器例如Tomcat都是以线程池模式运行的。线程池有限,一般有上限,例如500-1000。如果用完就导致卡线程,系统卡死。

只有一个线程池很容易导致线程阻塞。

缓解方式之一:双线程池

技术分享图片

 

 

结构层面解决办法:同步转异步,例如购物,只保留支付等核心缓解同步处理,在本线程完成,其他例如更新库存、下物流单,分发给其他模块异步解决,从而加快线程返回

技术分享图片

 

 同步转异步的核心:

技术分享图片

 

 产品:

阿里云消息队列

 

 

课时7:数据库架构设计优化-读写分离

 技术分享图片

 

 数据库难以横向扩张原因:为了保证数据库ACIE这几个原则,必须共用一个数据存储。这个存储最终会成为数据库并发的瓶颈。

具体优化手段:

读写分离

技术分享图片

 

写并发度低,因为要加锁。阻塞读。读要等写完成。

技术分享图片

 

 主要通过数据库的同步日志来对数据库进行同步

 技术分享图片

 技术分享图片

 

 

 

课时8:高可用架构方案实例

技术分享图片

 

 可用性及安全性都有问题

技术分享图片

 

 

双可用区架构

 

 

课时9:课程总结

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 技术分享图片

 

互联网应用架构概览-学习笔记

原文:https://www.cnblogs.com/instant7/p/11801557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!