本篇文章作为项目一些架构的设计和技术的准备笔记,主要涉及后端的整体架构、安全性、web、app、数据库(redis、mongodb、时序数据库)运维、API监控、爬虫监控、异步任务队列、维护代理IP池等和部分前端和app的整体思考:
第一次尝试整体把握 会有很多不足支持 欢迎大家批评指教
* 数据库设计和运维
* mongodb(业务信息、用户信息)
* redis(session、浏览统计)
* InfluxDB(时间性业务信息)
数据库设计和运维
mongodb
mongodb备份
由于自己的项目已经丢失过两次数据库数据:一次由于vps供应商故障所有数据丢失,一次由于启动mongo时使用的配置文件错误
导致设置auth=true!苦逼的教训啊,被扫描出来了,然后数据库被清,留下了比特币勒索信息。。。。所以这回虽然项目很小,但是也考虑到了备份问题。
目前主要的mongodb备份方式有以下几种:
1.文件系统快照
如果MongoDB存储数据文件的容量支持基于时间点的快照,您可以在某一特定时刻及时通过使用这些快照以创建一个MongoDB系统的备份。
2.mongodump mongo提供的 在线备份方式
直接到处数据库文件
3.主从复制(可以有一台机器上实现主从)
主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等.
最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址.
4.副本集(replset)
副本集有点类似主从复制,不过跟真正的主从复制还是有两点区别的。
- 该集群没有特定的主数据库。
- 如果哪个主数据库宕机了,集群中就会推选出一个从属数据库作为主数据库顶上,这就具备了自动故障恢复功能.
热门工具 换一换