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

2019-04-08 19:19:57 +08:00
 shengu
小弟非专业程序员,自学了一点编程,最近想自己做个东西,主要的内容就是文字信息浏览,评论,点赞一类的。

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

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

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

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

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

请大佬们解答,万分感谢~
817 次点击
所在节点    问与答
1 条回复
jifengg
2019-04-09 10:33:38 +08:00
mongodb 没研究太深,应该不太好实现。
redis 可以用“发布订阅”的方式来实现,用来处理简单的消息足够了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/553087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX