《App后台开发运维和架构实践》读书笔记
来源:互联网 发布:js点击按钮生成文本框 编辑:程序博客网 时间:2024/06/05 06:06
5.2 基本原理
网络请求处理,使用高效的epoll;
master进程只在一开始创建所有的worker进程,有请求就唤醒自己,将请求交给worker进程去做,然后继续沉睡;worker进程们实际干活儿;
5.3 配置
工作进程数;每个进程打开的文件描述符上限;
每个worker进程的连接上限;
sendfile:高效传输文件模式:从文件读到cache,不经过用户态buffer中转,直接写入buffer,发给TCP socket;
支持gzip压缩
负载均衡策略选择:
1. 时间轮询(默认),手动配置每个服务器的值班时间比例,请求按时间分配到不同的服务器上;
2. 按照请求来自的ip,哈希到不同的服务器上;优点:同一个客户端ip,每次固定发到同一个服务器上,该服务器可以cache住该ip的session数据;
3. 按照请求的URL来哈希到不同的服务器上;优点:可提高服务器的缓存命中率;
4. 公平:谁干活儿快就多分给谁一些请求;
5.4 性能统计
可以查到Nginx的状态信息:http://域名/nginx_status
5.5 实现负载均衡的方案
[Internet]---api请求--->[负载均衡服务器,有一个外网ip, 一个内网ip]---转发api请求--->[多台内网应用服务器,各自只有一个内网ip]
通过DNS服务,将外网ip和域名绑定上;
负载均衡服务器上部署Nginx
词方案好处:
- 保证了应用服务的高可用,一台宕机不影响服务的可用性;
- 应用服务器不直接连外网,减少了被入侵的可能性;
问题:负载均衡服务器只有一台,宕机了怎么办?
解决:Nginx+Keepalived, 部署两台Nginx负载均衡服务器,通过Keepalived将外网ip绑定到一台上,如宕机,Keepalived自动把这个外网ip漂移到另一台上;
建议使用云服务的负载均衡服务;
5.6 Nginx处理业务逻辑
以前Nginx只负责请求转发,不处理任何业务逻辑;
Nginx+Lua,可以处理一些简单的业务了,复杂业务逻辑仍然交给应用服务器;
- App后台开发运维和架构实践读书笔记
- 《App后台开发运维和架构实践》读书笔记
- 《App后台开发运维和架构实践》读书笔记
- 《App后台开发运维和架构实践》读书笔记
- 《App后台开发运维和架构实践》读书笔记
- 《App后台开发运维和架构实践》读书笔记
- 《App后台开发运维和架构实践》读书笔记
- 《App后台开发运维和架构实践》前言
- 《App后台开发运维和架构实践》推荐序
- 《App 后台开发运维和架构实践》完整目录
- 《App后台开发运维和架构实践》样章下载
- 《App后台开发运维和架构实践》资源汇总
- 《App后台开发运维和架构实践》勘误
- 《App后台开发运维和架构实践》勘误
- App后台开发运维和架构实践学习总结(7)——RESTful API 设计规范
- App后台开发运维和架构实践学习总结(1)——App后台核心技术之用户验证方案
- App后台开发运维和架构实践学习总结(6)——App客户端与后台交互方式总结
- App后台开发运维和架构实践学习总结(8)——后台产品设计的4个原则
- 串口通讯
- 程序员必备的11个辅助开发的软件神器
- cocos2dx UITableView 使用
- 笔记-2017.11.08
- 图片纹理压缩方式
- 《App后台开发运维和架构实践》读书笔记
- Method Swizzling
- matlab模糊规则ruleList的解释
- 对Setup time 和Hold time计算关系的理解
- 结合redis设计与实现的redis源码学习-14-事件(ae.c/ae_epoll.c)
- C# byte 和 char 转化
- 自己写的1050螺旋矩阵(25)
- 文章标题
- java多线程中的CompletionService