V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Aidenboss  ›  全部回复第 1 页 / 共 6 页
回复总数  117
1  2  3  4  5  6  
好奇问下是如何做到即可以 chat ,又可以 draw 的?感觉有点像: https://github.com/microsoft/visual-chatgpt/
2022-11-05 01:55:56 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 搞了好久的,终于为 SDB 增加了 lua 脚本
@lesismal 嗯嗯,那看起来是:gopher-lua 不是并发安全的,但多个 state 是没问题的。至于性能,没有考虑的,如果要考虑限制下 lua 脚本的并发数量就好了。
2022-10-28 09:17:51 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 搞了好久的,终于为 SDB 增加了 lua 脚本
@ClarkAbe 如果每个 lua 请求都是新的 State 呢
2022-09-14 20:02:15 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 有小伙伴问我 SDB 的锁模型,我重新梳理了一下
@gaodq 这是一个非常好的问题。我参考了 tendis 和 kvrocks 的实现: https://github.com/Tencent/Tendis/blob/unstable/src/tendisplus/commands/list.cpp#L1425

https://github.com/apache/incubator-kvrocks/blob/unstable/src/redis_list.cc#L326

发现他们都是采用了顺序后移的方式,复杂度是 O(n)。SDB 会好好考虑如何实现这个逻辑。
2022-03-28 12:40:51 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 SDB 2.0.0 发布,增加了主从架构
@dacapoday 好问题。首先 SDB 和 redis 定义还不太一样。然后 redis 的协议对 SDB 还是比较累赘的。所以目前没有支持的打算。
2022-03-28 12:40:12 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 SDB 2.0.0 发布,增加了主从架构
@LoNeFong 感谢支持
2022-03-28 00:14:11 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 SDB 2.0.0 发布,增加了主从架构
@ToBeHacker 感谢支持。 😀😀😀
2021-12-26 00:13:16 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@wzw 其实看了一下它的 commit 就知道,今年的 commit 次数不超过 20 次。
2021-12-10 12:59:33 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@yrj 先回答第一个问题:从我自己的测试结果和网友的测试结果来看,pebble 的性能更好些: https://blog.csdn.net/huxinglixing/article/details/116156322 ,这是网友的测试结果。
我也用了 grafana 的监控,看起来确实如此。

[主打大字段的缓存存储,围绕此丰富功能。] 我想想,感谢感谢 ~
2021-12-10 12:03:40 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@qq1340691923 可以举例说明下吗?
2021-12-10 12:03:26 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@Joker123456789 说的在理。其实 SDB 的定位不是 redis + 关系型数据库优点的结合体。而是在开头讲述的那些业务问题,才是 SDB 的立身之本。

我这边的想法也是:将易用性打造的足够好。提供更丰富的数据结构;提供更丰富的查询能力;提供 admin web ui 等等。

总之就是:SDB 的定位不是取代,而是解决业务问题。
2021-12-10 10:00:37 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@wzw 好选择。。。
2021-12-10 10:00:25 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@codespots 好的,今晚就去改
2021-12-10 10:00:13 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@dcoder 计划今年出一个集群的方案,到时候邀请大家一起 review review~
2021-12-10 01:06:33 +08:00
回复了 Aidenboss 创建的主题 Go 编程语言 分享个自己写的项目: SDB
@huyujievip 感谢支持 ~
2021-07-22 19:04:47 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@MidCoder 如果你需要解决,可以用: https://www.xuxueli.com/xxl-mq/
2021-07-22 16:47:58 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@MidCoder
你没理解这个场景,既然使用了 redis,就不需要保障消息可靠和一致性。
这个场景只需要解决消息传递即可,这也是这个项目的本意。
如果要做更牛的功能,直接用 RabittMQ 解决好了。
不需要什么事情都推到大规模、亿万消息、机制性能。技术是为了解决问题而存在的。只要解决那个场景的问题,自然就有存在的价值。如果脱离的场景,只考虑技术难点,会忽略了解决这个问题的本质。
2021-07-22 11:43:55 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@Aidenboss
重新补充下细节,topic 消息负载使用 topic 内消息分片解决。怎么解决呢?
默认分成 8 个分片数「具体随意调整」
前置条件:
redis-cluster 保存每个 topic 的订阅者信息,以及订阅者的 key 。比如 key = topic_s_list,value = [c1:1,3,6,7,c2:2,4,5,8]
每个消息都会按照 routing 算法计算出 key,每个消息都会发送到对应的 key 订阅通道,如:msg:1,代表发送到 msg1 发送给 topic1,只有 c1 才能接收到 msg1 的消息。


当加入一个新的 topic 订阅者,就先发送 topic:stop 指令,c1 、c2 接收到指令后,之后的消息先缓存在 redis 的待发送 list topic_s_pengding 中
c3 通过 lua 脚本,将 topic_s_list 修改为:[c1:1,3,4,c2:2,5,c3:6,7,8],并发送 sub_update 指令
c1 、c2 接收指令后,重新订阅的 key 变成 topic:1 、topic:3 、topic:4 ; c2 的订阅的 key 是:topic:2 、topic:5 ; c3 订阅的 key 是 topic:6 、topic:7 、topic:8
将 topic_s_pengding 中的 key 重新发送到 topic 中

中间会有类似 kafka rebalance 的现象。但其实并不影响消息的生产。

技术是为了解决问题的,提出没解决的点,照着点去设计就好。
2021-07-22 11:31:56 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
2021-07-22 10:07:24 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@MidCoder
1. redis 单点就由 redis-cluster 解决。为啥要让应用层解决中间件单点的问题。
2. center 是可以水平扩展的,已经解决了多 topic 的问题了。如果是单 topic 的消息负载,这点确实提醒了我,没有做。但使用 center + redis 参考 redis 模糊匹配的订阅模式即可。

以上已经解决了你的问题。
1  2  3  4  5  6  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2784 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 06:43 · PVG 14:43 · LAX 22:43 · JFK 01:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.