App后台开发运维和架构实践
App后台基础技术
从App业务逻辑中提炼API接口
业务逻辑思维导图
功能 - 业务逻辑思维导图
基本功能模块关系
人有哪些功能模块
事有哪些功能模块
人和事之间的关系又有哪些模块
*
功能模块接口UML
编写在线API测试文档
设计稿标注API
设计API的要点
如何选择合适的数据库产品
Redies, MongoDB, MySQL 读写数据的区别
Redies 内存
MongoDB 硬盘+内存
MySQL 硬盘
Redies, MongoDB, MySQL 查找数据的区别
Redies 键值对
MongoDB 知道id或者索引, 不知道id或者索引
MySQL 知道id或者索引, 不知道id或者索引
Redies, MongoDB, MySQL 适用场景
Redies 内存价格高, 适合的是读写频率高的数据, 如需要验证的用户的身份信息。
MongoDB 适合的有网站数据, 大尺寸低价值的数据, 高伸缩的场景, 存储地理坐标的数据. 不合适的有高度事务性的系统(银行系统, 会计系统), 传统的商业智能应用, 需要SQL的问题。
MySQL 适合的有事务性的系统, 需要复杂SQL的问题。
如何选择消息队列软件
为什么要用消息队列?
消息队列适用的场景有 发送邮件, 发送短信, 推送消息。
消息队列的工作流程
常见的一些消息队列产品
RabbitMQ
Redis
ZeroMQ
ActiveMQ
是用分布是服务实现业务的复用
巨无霸系统的危害
远程服务的优点
独立, 影响小
远程服务的实现
REST(REpresentational State Transfer), 表现层状态转化
RPC(Remote Procedure Call Protocol), 远程过程调用协议
开源的RPC库: HProse, Dubbo, Dubbox.
搜索技术入门
一个简单的搜索例子
搜索的基本原理
常见的搜索软件介绍
Lucene
Solr
ElasticSearch
Sphinx
CoreSeek
定时任务
场景: 定期清理一下项目产生的垃圾文件, 某段时间执行一些业务逻辑。
Linux 定时任务 Crontab
在后台轻松管理各种各样的定时任务
Quartz (JAVA)
APScheduler (Python)