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

请问完全依靠 Redis 或者 mongodb 来共享数据和通信的架构可行吗?

  •  1
     
  •   shengu · 2019-04-08 19:19:57 +08:00 · 875 次点击
    这是一个创建于 2083 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小弟非专业程序员,自学了一点编程,最近想自己做个东西,主要的内容就是文字信息浏览,评论,点赞一类的。

    因为技术水平有限所以直接用了一个单服式的框架,现在有个疑问是想知道能不能通过用 redis 或者 mongodb 这种来存放所有需要共享的数据来达到用单服式框架达到分布式的效果呢?

    就是把服务器开发成无状态的(不知道是不是这个叫法)

    例如 一个用户对另一个用户发表的内容点赞,连接该用户的服务器就直接把这个赞写入( redis/mongodb )里面,如果被点赞的用户在同一服务器,服务器就直接转发被点赞的消息,如果被点赞的用户在另外一个服务器,就把被点赞的信息写入这个用户( redis/mongodb )里对应的信息区里面,让这个用户自己定期去读取。

    问题总结下来就是,能不能在不同服务器不直接连接通信的情况下,只用( redis/mongodb )来让不同服务器间交互。( redis/mongodb )压力会不会太大呢?

    如果可以,是用 redis 还是 mongodb,还是两者结合一起用呢?用户数量未知,单服可能就完全够了,不过很好奇能不能通过这种方式把一个单服式的结构变成一定程度上可以横向扩容类似分布式的结构呢?更进一步的问题是有这种必要,或者有其它更简单的解决方案吗?

    请大佬们解答,万分感谢~
    jifengg
        1
    jifengg  
       2019-04-09 10:33:38 +08:00
    mongodb 没研究太深,应该不太好实现。
    redis 可以用“发布订阅”的方式来实现,用来处理简单的消息足够了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1660 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:44 · PVG 00:44 · LAX 08:44 · JFK 11:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.