博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
互联网常用架构学习
阅读量:2062 次
发布时间:2019-04-29

本文共 867 字,大约阅读时间需要 2 分钟。

在这里插入图片描述

随着业务逻辑越来越复杂,很多公司都开始用起了微服务,架构也和上图大同小异,本文主要记录下对此架构学习的笔记

CDN

CDN,全称Content Delivery Network,即内容分发网络。可以加快用户的访问速度,原理就是使用缓存。

CDN一般会缓存js脚本,css样式表,图片,图标,Flash等静态资源文件(不包括html页面)
CDN是部署在各地的网络运营商的机房,所以是需要付费才能使用的。
用户向服务器发出请求后,经过dns解析,会将请求发送到离用户最近的CDN缓存服务器上,如果CDN上有用户请求的缓存,且没有过期(CDN的检查资源是否过期类似于浏览器缓存检查是否过期的方法),就将数据直接返回给用户;如果不存在或者已经过期了,CDN会去服务端请求数据,一方面将数据存在本地,同时会把数据返回给用户。
参考:

Nginx

Nginx的作用:

1)反向代理
真实的服务器不能直接被外部网络访问,所以需要一台代理服务器
2)负载均衡
现在同一个服务会部署到一个集群上,这时候就用到了负载均衡
负载均衡策略:
1.轮询
2.权重:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
3.ip_hash:根据用户的IP分配服务器,这样此用户可以保证每次都访问同一个服务器
4.第三方fair:按后端服务器的响应时间来分配请求,响应时间短的优先分配。需要安装第三方模块才能使用
5.第三方url_hash
3)HTTP服务器
Nginx本身也是一个静态资源的服务器
4)正向代理
5)热启动
修改配置文件后,不用关闭 Nginx,就可以实现让配置生效
参考:

API网关

功能:统一接入、协议适配、流量管理与容错、以及安全防护

所有的接口调用都请求到这一层,具体调用哪个服务以及哪个服务器,API网关来决定,这样不同的业务线都可以使用同一个域名调用,同时也起到了负载均衡的作用
在这一层我们可以把跟业务不相关的很多东西处理了,比如权限校验等
防止有人恶意调用接口,做一下限流什么的,以及添加黑白名单
参考:

转载地址:http://durlf.baihongyu.com/

你可能感兴趣的文章
Spring boot Myibatis
查看>>
spring boot(七):springboot+mybatis多数据源最简解决方案
查看>>
Spring Boot 笔记
查看>>
maven下手动导入ojdbc6.jar
查看>>
SpringBoot、MyBatis配置多数据源XML方法
查看>>
SpringBoot配置属性之MQ
查看>>
SpringBoot集成mybatis
查看>>
Shell文本处理三剑客之grep
查看>>
linux查看进程启动时间
查看>>
Linux 基础命令
查看>>
35 个 Java 代码性能优化总结
查看>>
Linux Sed 命令
查看>>
StandardContext 错误
查看>>
如何添加网站favicon.ico图标
查看>>
cvs no such repository 问题
查看>>
MySQL中REGEXP正则表达式
查看>>
服务端UDP双向通信学习资料
查看>>
Mina TCP 编码解码相关资料收集
查看>>
Maven 打包 上传 运行
查看>>
Maven插件wagon-maven-plugin自动化部署
查看>>