请原谅小白,不知道 那个东西的专业术语是什么
我现在写一个项目, 用到了 redis (打算用)、mysql、celery、以及一些第三方的软件, 这些软件互相协作,联通后, 就是我的项目
之所以选这些东西来组合成最终的项目,都是我根据网上零散的文章,瞎弄的
但是我却觉得不太踏实
比如,redis 我就不敢用, 因为我的整个系统是在 docker 中运行的,docker 一挂,redis 中的数据就丢, 我因为怕丢,就不敢用, 所以就考虑用数据库代替 redis, 因为我数据库用的是云数据库,就算我系统坏了, 数据也不会丢
如果我的云服务器因为什么原因重启(如重大漏洞,云服务商强制更新重启),那 redis 中的数据就没了,就可能造成灾难
比如 celery 来做定时任务,我就特别担心,哪天服务器卡了一下(或者抽经一下),导致任务丢了,无法按时执行
我目前的状态就是实力不够,或者是胆子小, 或者完美主义,或者是比较愚蠢,导致了做事情蹑手蹑脚
我想这里面我知识少是最大的问题,因为我是半路出家的
就是想问问大家,有什么书、blog、 能对现阶段的我 有帮助的吗
感谢大家
1
chuankoog 2018-07-10 11:35:17 +08:00 2
Designing.Data-Intensive.Applications
|
2
find456789 OP @chuankoog 谢谢
|
3
Nitroethane 2018-07-10 11:44:14 +08:00 via Android 1
建议最初的时候不要过多使用中间件,否则出了 bug 很难定位原因。同样,最初的时候先把最基本的 demo 做出来,后面再考虑重构,性能之类的。不要一上来啥都没有,就用这用那的。
|
4
find456789 OP @Nitroethane 谢谢
|
5
qusthuang 2018-07-10 11:48:18 +08:00 1
k8s 挂载 ceph 做存储,数据应该不丢,纯 docker 不知道可不可以。
|
6
suckli 2018-07-10 11:49:46 +08:00 1
DDIA
也就是 1 楼说的那本书 |
7
visonme 2018-07-10 12:10:53 +08:00 2
我想楼主想了解的就是怎么整合使用这些第三方组件,因为在很多时候,很多人能熟练单独使用却没办法完美的将这些第三方组件整合到一起,构建一个高可服用,高性能的系统!
我觉得最好的方法还是先从单个组件开始,先吃透了单个组件,了解它们要解决的核心问题和主要的应用场景。 然后在了解组件间的“合作”工作能解决那些问题,比如 redis+mysql,MQ+redis ,再比如 MQ+REDIS+celery ,等它们质检合作的能解决的核心问题了解了,接下来就可以尝试设想和构建一个自己梦想中的系统了 相信第一次尝试构建系统,总是不完美的 |
8
D3EP 2018-07-10 12:27:28 +08:00 via iPhone 1
redis 是缓存服务器,挂了没有问题,只要你把数据持久化到了 db 中
|
9
ideascf 2018-07-10 12:38:53 +08:00 1
redis 做主从,开 rdb 开 aof 也没问题
|
10
Winchou 2018-07-10 12:43:04 +08:00 1
一个字:干
|
11
yanaraika 2018-07-10 12:45:39 +08:00 via Android 1
redis aof 可以设置成最多丢几秒钟的数据吧,或者找些高可用方案
|
12
a7a2 2018-07-10 13:02:20 +08:00 1
|
13
virusdefender 2018-07-10 13:14:42 +08:00 1
redis 可以持久化,但是可能你会接着担心磁盘坏了或者单机内存存不下了怎么办,所以一方面是自己去探索,一方面是这些问题都可以用云厂商的服务来解决(云 redis,消息队列等等)
|
14
wysnylc 2018-07-10 16:26:58 +08:00
大型复杂系统 XXX
万能句式 |