MidCoder 最近的时间轴更新
MidCoder

MidCoder

V2EX 第 551315 号会员,加入于 2021-07-20 11:45:33 +08:00
MidCoder 最近回复了
看上去这个部门恨厉害的样子
2021-07-22 21:35:18 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@Aidenboss 看来研究的开源项目不少,来不来我们这边搞事情?我们这边是搞基础架构的
2021-07-22 17:42:24 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@Aidenboss 那你是如何解决消息消费者消费到一半,宕机或者重新部署,消息不丢失的?如果你不记录消息消费位置的?
2021-07-22 13:23:12 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@Aidenboss 是否通过真实的大规模场景验证你的这个方案?如果没有,如何验证你的方案是真的可行?
第一:首先采用 redis 方案,看似把最难解决的消息存储交给 redis 已有解决方案来去解决。但是在真实大规模场景下,这会导致网络开销增加了一倍,因为多了一次 center 和 redis 的 request/response 。这种网络开销在亿级别的消息体量下,会严重影响性能
第二:整个集群管理你如何保障?如何让全局感知整个 topic 分片的负载策略?以及当出现网络异常(你的 stop 命令都无法发出的时候)如何保障集群的一致性?以及消息的消费顺序如何保障,如何记录消息消费到了哪里?以及当消费端重启的时候,如何找到之前的消费位置?

只能说你在逐步完善一个消息消费的最基本能力(消息通信),但是对于一个简单的 MQ 场景来说,这只是最简单的部分
2021-07-22 09:55:42 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@Aidenboss 那整个架构 redis 将会是单点,虽然你的 center 可以通过 niginx 负载,但是如何解决单个 topic 消息量倾斜,导致 redis 集群负载不均衡,如果基于 redis,那 topic 的负载如何基于 reids 来实现,是你这个能否规模化的关键,至少这里没有实现或者体现。

如果想真正研究大厂的基础架构,欢迎加 Vbieber-cn,来我厂一起搞事情
2021-07-21 22:23:37 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
@Aidenboss
1 、你这里 99.9%的可用率在亿级别场景肯定达不到,首先你的 center 如何做到容错和负载?这一点你的架构一点都没实现,怎么保障你说的三个九的可用?至少机器挂了你这一点容错能力都没有。
2 、你这里不只是 redis 水平,还有你的 center,你的 center 只是单点?单点你就敢承载亿级别的场景?太异想天开了。如果你 center 要做分布式,那就涉及到 center 的发现和负载,以及 center 和 redis 之间的归属如何分配?不是你想的这么简单。

学习角度我是赞赏的,但是不要那这个去做实际生产场景,赞赏你的分享精神,但是如果你想证明自己,请把这个东西做到你说的三个九。如果这样简单搞一下就保障了三个九,你以为大厂哪些人是吃素的?
@huyujievip 加 VX:bieber-cn
2021-07-21 14:03:16 +08:00
回复了 xiangbohua 创建的主题 Java 半路出家的 Java 开发该怎么提高?
多看源码(中间件源码,框架源码,项目源码,JDK 源码),多写代码(可以将看过的开源项目自己写一遍),多思考,多总结。
2021-07-21 14:01:42 +08:00
回复了 Aidenboss 创建的主题 Java 轻量级 Java 应用消息通知中心
所有的有点都是自己 YY 的,你有相关一个系统引入一个新的组件带来的各种风险吗?你能确保你的这个组件有多少个 9 的可用性?以及面对真实的生产场景,面对上亿的消息量,你的 redis 机器,和你的 message-center 集群如何实现横向扩展?能否通过简单的加机器就能解决?我看现在你的架构都不具备。你当前的架构就是一个 Toy,练手我觉得可以,但是千万不要用于实际业务场景,否则业务会被害惨的。所以上面说的第一点,纯属自己 YY,当前哪个消息中间件整个稳定性和横向扩展性没有 99%以上?请用成人思维去思考。

架构的本质是去繁化简,多增加一个组件和一行代码都是需要经过仔细思考的,所以你上面说的第二点,无疑是为了自己的技术热情而引入的没必要的架构复杂度

欣赏你对技术的热情,可以作为技术分享对你的技术理解,但不要轻易的将自己的东西当做框架或者开源推出去,这是一种对技术不负责任的态度。
2021-07-21 13:54:26 +08:00
回复了 superdingdang 创建的主题 Java SpringBoot 如何获取原始请求体
现在的开发真的是啥都不会呀?一上来就是 springboot,又是 springcloud 。啥 j2ee,jdbc 都不会了?原来至少 struts2 和 springmvc 还能感受一下底层,自从各种 boot 出现之后,大家应该都不知道 web.xml 里面长啥样了吧?建议还是沉下心来去看看基础,不要整天浮在各种框架之上,不然你永远不知道这个世界是怎么样的
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1834 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.