V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
find456789
V2EX  ›  问与答

请问看什么书,能提高软件架构(大型复杂系统 redis、mysql,第三方组件的协作)整合 方面的知识

  •  
  •   find456789 · 2018-07-10 11:26:15 +08:00 · 1977 次点击
    这是一个创建于 2328 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请原谅小白,不知道 那个东西的专业术语是什么

    我现在写一个项目, 用到了 redis (打算用)、mysql、celery、以及一些第三方的软件, 这些软件互相协作,联通后, 就是我的项目

    之所以选这些东西来组合成最终的项目,都是我根据网上零散的文章,瞎弄的

    但是我却觉得不太踏实

    比如,redis 我就不敢用, 因为我的整个系统是在 docker 中运行的,docker 一挂,redis 中的数据就丢, 我因为怕丢,就不敢用, 所以就考虑用数据库代替 redis, 因为我数据库用的是云数据库,就算我系统坏了, 数据也不会丢

    如果我的云服务器因为什么原因重启(如重大漏洞,云服务商强制更新重启),那 redis 中的数据就没了,就可能造成灾难

    比如 celery 来做定时任务,我就特别担心,哪天服务器卡了一下(或者抽经一下),导致任务丢了,无法按时执行

    我目前的状态就是实力不够,或者是胆子小, 或者完美主义,或者是比较愚蠢,导致了做事情蹑手蹑脚

    我想这里面我知识少是最大的问题,因为我是半路出家的

    就是想问问大家,有什么书、blog、 能对现阶段的我 有帮助的吗

    感谢大家

    14 条回复    2018-07-10 16:26:58 +08:00
    chuankoog
        1
    chuankoog  
       2018-07-10 11:35:17 +08:00   ❤️ 2
    Designing.Data-Intensive.Applications
    find456789
        2
    find456789  
    OP
       2018-07-10 11:42:50 +08:00
    @chuankoog 谢谢
    Nitroethane
        3
    Nitroethane  
       2018-07-10 11:44:14 +08:00 via Android   ❤️ 1
    建议最初的时候不要过多使用中间件,否则出了 bug 很难定位原因。同样,最初的时候先把最基本的 demo 做出来,后面再考虑重构,性能之类的。不要一上来啥都没有,就用这用那的。
    find456789
        4
    find456789  
    OP
       2018-07-10 11:47:34 +08:00
    @Nitroethane 谢谢
    qusthuang
        5
    qusthuang  
       2018-07-10 11:48:18 +08:00   ❤️ 1
    k8s 挂载 ceph 做存储,数据应该不丢,纯 docker 不知道可不可以。
    suckli
        6
    suckli  
       2018-07-10 11:49:46 +08:00   ❤️ 1
    DDIA
    也就是 1 楼说的那本书
    visonme
        7
    visonme  
       2018-07-10 12:10:53 +08:00   ❤️ 2
    我想楼主想了解的就是怎么整合使用这些第三方组件,因为在很多时候,很多人能熟练单独使用却没办法完美的将这些第三方组件整合到一起,构建一个高可服用,高性能的系统!

    我觉得最好的方法还是先从单个组件开始,先吃透了单个组件,了解它们要解决的核心问题和主要的应用场景。

    然后在了解组件间的“合作”工作能解决那些问题,比如 redis+mysql,MQ+redis ,再比如 MQ+REDIS+celery ,等它们质检合作的能解决的核心问题了解了,接下来就可以尝试设想和构建一个自己梦想中的系统了

    相信第一次尝试构建系统,总是不完美的
    D3EP
        8
    D3EP  
       2018-07-10 12:27:28 +08:00 via iPhone   ❤️ 1
    redis 是缓存服务器,挂了没有问题,只要你把数据持久化到了 db 中
    ideascf
        9
    ideascf  
       2018-07-10 12:38:53 +08:00   ❤️ 1
    redis 做主从,开 rdb 开 aof 也没问题
    Winchou
        10
    Winchou  
       2018-07-10 12:43:04 +08:00   ❤️ 1
    一个字:干
    yanaraika
        11
    yanaraika  
       2018-07-10 12:45:39 +08:00 via Android   ❤️ 1
    redis aof 可以设置成最多丢几秒钟的数据吧,或者找些高可用方案
    a7a2
        12
    a7a2  
       2018-07-10 13:02:20 +08:00   ❤️ 1
    virusdefender
        13
    virusdefender  
       2018-07-10 13:14:42 +08:00   ❤️ 1
    redis 可以持久化,但是可能你会接着担心磁盘坏了或者单机内存存不下了怎么办,所以一方面是自己去探索,一方面是这些问题都可以用云厂商的服务来解决(云 redis,消息队列等等)
    wysnylc
        14
    wysnylc  
       2018-07-10 16:26:58 +08:00
    大型复杂系统 XXX
    万能句式
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   946 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.