小健_Linux-shell-Devops_Blog
latest
DevOps和自动化运维实践
Github入门到实践
Jenkins持续化集成
KVM实践
Linux
Mysql王者之路
Other
1. Git入门到熟练
2. 构建写书博客
3. Vim教程
4. SQL-Server学习
5. 程序员实用工具网站
6. APP后台开发运维_读书笔记
6.1. APP后台入门
6.2. APP后台基础技术
6.3. APP后台核心技术
6.4. Linux-APP后台应用最广泛的系统
6.5. Nginx—App后台HTTP服务的利器
6.6. MySQL—App后台最常用的数据库
6.7. Redis—App后台高性能的缓存系统
6.8. MongoDB—App后台新兴的数据库
6.9. 架构选型的要点
7. 一些常用的工具
8. Windows系统相关
Network_route_switch
小健_Linux-shell-Devops_Blog
»
Other
»
6.
APP后台开发运维_读书笔记
Edit on GitHub
6.
APP后台开发运维_读书笔记
¶
6.1. APP后台入门
6.1.1. App和App后台的通信
1.用HTTP协议还是私有协议?
2.App和App后台通信使用长连接还是短连接?
3.App和后端是怎么通信的?
4.后端是返回给API的数据格式
6.1.2. App后台和Web后端的区别
1.App后台要慎重考虑网络传输的流量,主要在API设计、图片处理上
2.移动手机弱网络环境
3.手机电量有限
6.1.3. 选择服务器
1.是选择传统的IDC还是云服务器
建议
6.1.4. 选择编程语言
1.每种编程语言都有自己擅长的业务场景和性能特性
2.选择开发效率最高的编程语言
3.一个大忌是用两套不同的编程语言维护一个相同的业务逻辑
4.一个系统中,不同的业务逻辑可以用不同的编程语言实现
6.1.5. 快速入门新技术
4种快速入门新技术的方法
6.1.6. App是怎样炼成的
1.项目启动阶段
2.研发阶段
3.测试阶段
6.1.7. 3.正式推出阶段
6.2. APP后台基础技术
6.2.1. 如何选择合适的数据库产品
Redis,MongoDB,MySQL读写数据的区别
Redis,MongoDB,MySQL查找数据的区别
Redis,MongoDB,MySQL适用场景
6.2.2. 如何选择消息队列软件
为什么要用消息队列?
消息队列的工作流程
常见的一些消息队列产品
6.2.3. 使用分布式服务实现业务的复用
巨无霸系统的危害
远程服务的优点
远程服务的实现
2.PRC
3.开源的RPC库
6.2.4. 搜索技术入门
常见的开源搜索软件介绍
6.2.5. 定时任务
Linux定时任务Crontab
在后台轻松管理各种各样的定时任务
6.3. APP后台核心技术
6.3.1. 用户验证方案
使用HTTPS协议
基本的用户登录方案
App通信安全
6.3.2. 短信服务
建立可靠的短信服务
6.3.3. 处理表情的一些技巧
表情在MySQL的存储
6.3.4. 高效更新数据
内容的推拉
6.3.5. 图片处理
6.3.6. 视频处理
FFmpeg简介
6.3.7. 文件系统
架设文件系统
6.3.8. ELK日志分析平台
基本模块
6.3.9. Docker构建一致的开发环境
6.4. Linux-APP后台应用最广泛的系统
6.4.1. 进程管理利器——superivisor
使用supervisor管理进程有如下的优点。
6.5. Nginx—App后台HTTP服务的利器
6.5.1. 简介
6.5.2. 基本原理
6.5.3. 工作模型
6.5.4. 进程解析
6.5.5. 常用配置
1.Nginx的全局配置
2.event配置
3.http配置
4.负载均衡配置
5.server虚拟主机配置
6.location配置
7.HTTPS的配置
8.下载App的配置
9.生产环境中修改配置的良好习惯
10.性能统计
6.5.6. 实现负载均衡的方案
针对创业团队采用方案(Nginx+Keepalived)
大公司使用云上负载均衡器(SLB)
6.5.7. 用Nginx处理业务逻辑
6.6. MySQL—App后台最常用的数据库
6.6.1. 基本架构
6.6.2. 选择版本
6.6.3. 配置文件详解
6.6.4. 软件优化
正确使用MyISAM和InnoDB存储引擎
正确使用索引
避免使用seIect* 使用“select*”有下面的坏处:
字段尽可能地设置为NOT NULL
6.6.5. 硬件优化
增加物理内存
增加应用缓存
用固态硬盘代替机械硬盘
SSD硬盘+SATA硬盘混合存储方案
6.6.6. 架构优化
分表
读写分离
分库
6.6.7. SQL慢查询分析
方法一,通过命令行设置,立即生效,但是在MySQL服务重启后失效。
方法二,在/etc/my.conf中增加下面的配置选项,重启MySQL服务后生效。
6.6.8. 云数据库简介
6.6.9. 灵活的存储结构
6.6.10. 故障排除案例
性能低下的查询引起的故障
6.7. Redis—App后台高性能的缓存系统
6.7.1. Redis简介
6.7.2. Redis的常用数据结构及应用场景
string——存储简单的数据
hash——存储对象的数据
list——模拟队列操作
set——无序且不重复的元素集合
sorted set——有序且不重复的元素集合
6.7.3. 内存优化
监控内存使用的状况
优化存储结构
限制使用的最大内存
设置过期时间
6.7.4. 集群
1.客户端分片
2.Twemproxy
3.Codis
4.Redis 3.0集群
5.云服务器上的集群服务
6.7.5. 持久化
RDB
AOF
6.7.6. 故障排除案例
Redis崩溃的故障
6.8. MongoDB—App后台新兴的数据库
6.8.1. 1.简介
6.8.2. 2.核心机制解析
MMAP(内存文件映射)
Journal日志
6.8.3. 3.入门
基本操作
数组操作
实例演示MySQL和MongoDB设计数据库的区别
1.使用MySQL的例子
2.使用MongoDB的例子
6.8.4. 4.高可用集群
主从
副本集
分片
6.8.5. 5.LBS—地理位置查询
6.8.6. 6.MongoDB 3.0版本的改进
灵活的存储架构
性能提升7~10倍
存储空间最多减少80%
运维成本最多降低95%
6.9. 架构选型的要点
6.9.1. 用成熟稳定的开源软件
6.9.2. 尽可能使用云服务
列举两个提供这类服务的网站。
6.9.3. 架构的演进
单机部署
分布式部署
服务化