本文共 867 字,大约阅读时间需要 2 分钟。
随着业务逻辑越来越复杂,很多公司都开始用起了微服务,架构也和上图大同小异,本文主要记录下对此架构学习的笔记
CDN,全称Content Delivery Network,即内容分发网络。可以加快用户的访问速度,原理就是使用缓存。
CDN一般会缓存js脚本,css样式表,图片,图标,Flash等静态资源文件(不包括html页面) CDN是部署在各地的网络运营商的机房,所以是需要付费才能使用的。 用户向服务器发出请求后,经过dns解析,会将请求发送到离用户最近的CDN缓存服务器上,如果CDN上有用户请求的缓存,且没有过期(CDN的检查资源是否过期类似于浏览器缓存检查是否过期的方法),就将数据直接返回给用户;如果不存在或者已经过期了,CDN会去服务端请求数据,一方面将数据存在本地,同时会把数据返回给用户。 参考:Nginx的作用:
1)反向代理 真实的服务器不能直接被外部网络访问,所以需要一台代理服务器 2)负载均衡 现在同一个服务会部署到一个集群上,这时候就用到了负载均衡 负载均衡策略: 1.轮询 2.权重:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况 3.ip_hash:根据用户的IP分配服务器,这样此用户可以保证每次都访问同一个服务器 4.第三方fair:按后端服务器的响应时间来分配请求,响应时间短的优先分配。需要安装第三方模块才能使用 5.第三方url_hash 3)HTTP服务器 Nginx本身也是一个静态资源的服务器 4)正向代理 5)热启动 修改配置文件后,不用关闭 Nginx,就可以实现让配置生效 参考:功能:统一接入、协议适配、流量管理与容错、以及安全防护
所有的接口调用都请求到这一层,具体调用哪个服务以及哪个服务器,API网关来决定,这样不同的业务线都可以使用同一个域名调用,同时也起到了负载均衡的作用 在这一层我们可以把跟业务不相关的很多东西处理了,比如权限校验等 防止有人恶意调用接口,做一下限流什么的,以及添加黑白名单 参考:转载地址:http://durlf.baihongyu.com/