![]() | 1 tanranran 2019-12-26 23:37:38 +08:00 ![]() 听领导,简单实现 |
2 findmyself 2019-12-26 23:40:58 +08:00 听楼上的 |
![]() | 3 willxiang 2019-12-26 23:41:10 +08:00 via iPhone 除非老板是你爸,否则听领导的 |
4 zpxshl 2019-12-26 23:43:02 +08:00 via Android ![]() 对技术的执着这句话听起来咋有点搞笑呢。。。 |
![]() | 5 Messiv2 2019-12-26 23:45:21 +08:00 听领导的。 |
6 ys0290 2019-12-27 00:09:21 +08:00 对技术的执着是不是大炮打蚊子那种? |
![]() | 7 beastk 2019-12-27 00:55:56 +08:00 via iPhone 谁给钱听谁的 |
![]() | 8 gouflv 2019-12-27 01:07:37 +08:00 via iPhone 这跟技术无关,除非图表库是你自己写的 |
![]() | 9 victor 2019-12-27 01:22:51 +08:00 ![]() 能否详细讲一下「滑动窗口实时进行统计」的方案设计 |
![]() | 10 xaplux 2019-12-27 07:52:55 +08:00 via Android 同上,什么叫(滑动窗口实时统计)? |
11 wc951 2019-12-27 08:12:48 +08:00 via Android spark 还是 flink |
![]() | 12 nevin47 2019-12-27 08:15:47 +08:00 via Android ![]() 商业项目领导说了算 个人项目自己想干嘛干嘛 商业项目还硬按照自己的想法来,就好像是上了战场将军说战略撤退,你偏要带队进攻,违反军令了 |
13 fomeiherz OP ![]() @victor 1 分钟 1 个窗口,窗口数为 5 个,等同于队列先进先出。最新的 1 分钟统计窗口创建时,会对原有的 5 个窗口进行一次汇总(前提是 5 个窗口都有数据的前提下),汇总后队头出队最早创建的窗口,在队尾入队最新的统计窗口。窗口会不断向前滑动,每次保证只有 5 个统计窗口。 |
![]() | 14 liuxey 2019-12-27 08:26:44 +08:00 请听你老板的 |
![]() | 15 lhx2008 2019-12-27 08:27:32 +08:00 via Android ![]() 好吧,我也没看明白,对于接口的监控和告警,这样滑的意义是什么呢,直接一分钟监测一次写库会怎么样? |
![]() | 16 k9982874 2019-12-27 08:33:15 +08:00 via iPhone 看楼主的解释,看起来只是分成 5 个线程一分钟执行一次的定时任务。 领导的建议是对的,当然可能没理解楼主的意思。 |
![]() | 17 askfilm 2019-12-27 08:33:50 +08:00 ![]() @fomeiherz "领导说理解太费劲,不好维护。叫我重构成更为简单的方式" ------ 这才是老道的技术经验 "我觉得定期查表太挫了,不符合我对技术的执着" ------- 坦白说, 这是菜鸟的一根筋 |
18 whalegao 2019-12-27 08:33:58 +08:00 via iPhone 听领导的 |
![]() | 19 opengps 2019-12-27 08:36:31 +08:00 via Android 做两套,来实现双方都不压抑 |
![]() | 20 angith 2019-12-27 08:36:32 +08:00 via Android 什么叫对技术的执着? |
![]() | 21 gimp 2019-12-27 08:38:13 +08:00 ![]() 听领导的,年轻人有对技术的执着,Github 是更广阔的舞台。 |
22 NetworkManager 2019-12-27 08:42:09 +08:00 ![]() 既然参加工作了 那就听领导的 按照领导的意思来 除非公司缺你不可 这世道就这样 挣钱 挣钱 挣钱 最简单的方法完成就可以拿钱 没必要搞什么花里胡哨的 楼主可以把自己的想法方案 放到 gayhub 上 |
![]() | 23 binux 2019-12-27 08:42:50 +08:00 ![]() 比如这样: https://github.com/binux/pyspider/blob/master/pyspider/libs/counter.py#L76 目的就是使统计数据更平滑,英文有叫 moving average 的,但是滑动窗口实现不依赖数据存储,能直接输出。 |
![]() | 24 golden0125 2019-12-27 08:56:49 +08:00 你以为这是 TCP 协议吗? |
![]() | 25 sagaxu 2019-12-27 09:03:46 +08:00 via Android 改成多负载机的时候,查库几乎不用改,滑动窗口怎么弄? |
![]() | 26 passerbytiny 2019-12-27 09:23:50 +08:00 @fomeiherz #11 哥们,你这本质上还是一分钟一次的循环任务。并且,你这还是画蛇添足,或者更确切的,脱裤子放屁: 原本,业务接口自身只负责记录告警状态(在自己的事务中),定时任务只需要查询有没有告警(在另外的事务中,或者不启用事务),同时,不需额外处理,告警就有历史记录。 到了你这里,业务接口要将告警状态通知给滑动窗口处理器(单靠事务是没办法保证原子性的,需要特殊处理),滑动窗口处理器定期的做汇总告警、向外通知、持久化历史记录等处理。 接口告警监控信息,关注的是“当前有没有”、“历史记录”两个信息,滑动窗口实时计算,最多也就额外增加一个“实时的最近历史记录”的信息,华而不实。 真要执着的话,你也应该去执着事件模式。 |
![]() | 27 wysnylc 2019-12-27 09:35:21 +08:00 via Android 你对滑动窗口有什么误解吧,你这本质上还是定时任务 我还以为是数据推动 |
![]() | 29 hfbb 2019-12-27 09:40:49 +08:00 学生思维,兄弟你是去赚钱的,当然是领导怎么说你就怎么做,管他挫不挫 |
![]() | 30 alw 2019-12-27 09:45:40 +08:00 听领导的呀,折腾技术到开源项目里折腾。 再说了,这种难道不是用 websocket 吗? 定时查个鬼哦。 |
![]() | 31 zhanggg 2019-12-27 09:49:25 +08:00 既然对技术执着的话,开发一个弄到 gayhub 开源起来啊 |
![]() | 32 miv 2019-12-27 10:11:41 +08:00 via iPhone 听领导的 |
![]() | 33 ashong 2019-12-27 10:14:00 +08:00 via iPhone 不背锅的情况下听领导的 |
![]() | 34 leon0204 2019-12-27 10:21:07 +08:00 听领导的,不然 kpi 等哭吧,小公司当我没说 |
![]() | 35 glaucus 2019-12-27 10:35:12 +08:00 对于炫技的执拗 |
![]() | 36 zaul 2019-12-27 10:45:20 +08:00 面向老板编程 |
![]() | 37 hnbcinfo 2019-12-27 10:49:38 +08:00 这也能有疑问,这种问题肯定听领导的啊?如果楼主不是刚毕业的新人,只能说你这几年白混了 |
38 NoKey 2019-12-27 11:10:14 +08:00 如果出了问题,谁来负责 就这么一个问题,你自己考虑。。。 我们这里想拆分一个老服务很久了 但是,没有任何一个领导愿意站出来说,好的,可以拆了试试 所以,我们不敢动 |
39 wangxiaoaer 2019-12-27 11:13:25 +08:00 不好意思,各位大佬,你们说的”滑动窗口“到底是啥,是浏览器的一个标签页,还是页面里面的一个 panel ?瑟瑟发抖 ![]() |
![]() | 40 radiocontroller 2019-12-27 11:15:22 +08:00 二楼说的对 |
![]() | 41 loading 2019-12-27 11:17:08 +08:00 via Android 楼主你觉得你的方案牛逼的话,起码给大家一个 demo 吧,我都没看懂。 |
42 tankren 2019-12-27 11:23:40 +08:00 naive |
![]() | 43 CruelMoon 2019-12-27 11:27:11 +08:00 告警和统计是两回事,你们应该尝试辩清楚业务逻辑,而不是具体技术。 |
![]() | 44 rockyou12 2019-12-27 11:29:53 +08:00 要是业务不很复杂,你们领导肯定是对的。不过如果有这方面的技术积累,用 flink 这些流处理做滑动窗口其实也不复杂,还是看你们团队整体技术水平吧。 |
![]() | 45 qq316107934 2019-12-27 11:45:34 +08:00 ![]() 为啥大家都不理解... 滑动窗口是最合理的,一般是简单的脚本去配置,比如( avg(err_rate > 0.5),3min) 这种形式的,在任何 3min 内出现持续 rate>0.5 或者平均 rate>0.5 就会触发报警,这是最合理的一种方式。但是还是看人力和工期,我觉得你可以先按照领导的去做,然后积累一段时间数据看滑动窗口能给报警准确率带来多大提升,然后再报告给领导。说前端的还有说炫技的不用理他们,他们应该没做过... |
46 alfchin 2019-12-27 11:46:37 +08:00 via iPhone 说难听点这是装 bi 的执着。 |
![]() | 47 qq316107934 2019-12-27 11:47:05 +08:00 @askfilm #17 现在 V 站三观已经如此了么,看来我还是菜鸟,要多学习 |
48 pws22 2019-12-27 11:59:18 +08:00 题主的意思是对时间范围内的数据进行统计汇总吧,然后得出一个结果?领导的意思是单次情况,有异常就报异常?我们监控是滑动窗口模式的(新学的名词) |
![]() | 49 watzds 2019-12-27 12:06:36 +08:00 via Android 领导不理解,领导也坚持的话,先按领导的做。否则争论到什么时候?后面可以做个比较拿数据出来看看 |
![]() | 50 watzds 2019-12-27 12:08:37 +08:00 via Android 你说的方案可能是更合理的,同时领导的更简单,开发时间短,要是领导的开发时间长,效果还不好,那可以再争一争哈哈 |
![]() | 51 ofblyt 2019-12-27 14:03:42 +08:00 工作上肯定听领导的,自己下班了再整一套 |
![]() | 52 simenet 2019-12-27 14:16:51 +08:00 对技术的执着是不是大炮打蚊子那种? |
53 nanoha 2019-12-27 14:26:45 +08:00 听领导的 你拿钱给他干活 他说怎么实现你就咋实现啊 你自己这么喜欢坚持自己的技术 业余搞个自己的项目多好呢 |
![]() | 54 xianxiaobo 2019-12-27 14:38:10 +08:00 ![]() 我倒觉得有技术执着是好的,不然很难成为一个优秀的程序员。不过公司项目,领导说怎么做就怎么做吧。。。 |
55 xianyu191031 2019-12-27 14:57:41 +08:00 没有足够精力就听领导的,有足够精力就两套都做下,验证自己的想法;如果验证可行,可以让领导选而不是自己选 技术追求跟工作需求分开,个人觉得这样是最好的 当然如果你成了做决策的那个人的时候 你想怎么写就怎么写 |
![]() | 56 server 2019-12-27 15:01:30 +08:00 六字真言(手动狗头),这就是个心态问题,现在做好一个工具人将来让别人做工具人。 |
![]() | 58 surfire91 2019-12-27 15:10:18 +08:00 锻炼你“口才”的能力来了,说服你领导。 这个会是一个很重要的技能。 |
![]() | 59 akira 2019-12-27 15:13:18 +08:00 己实现监控和告警? 用现成的东西啊。。 |
60 haozxuan001 2019-12-27 15:26:21 +08:00 我看了通篇 58 条记录,除了一个支持你的窗口的,其他的意见还是比较一致的,要不咱还是讨论下滑动窗口吧,或者再开个帖子,我觉得这个更有聊头 |
61 edgnoz 2019-12-27 15:27:32 +08:00 谁给钱听谁的 |
![]() | 62 hjq632233317 2019-12-27 15:48:51 +08:00 听领导的 不然出问题你能担得起责任啊 真的是 |
![]() | 63 vueadmin 2019-12-27 15:53:56 +08:00 我知道稳定可行的技术方案时候,少和我提你自己的什么更优化的方案,大部分是自己看点破技术文章就不知道北的。 如果我没有特别好的方案,就使用可查最稳妥的方案,如果你有新方案,你可以做,如果效果好,也有能力维护,就采用你的。 |
![]() | 64 glfpes 2019-12-27 16:13:28 +08:00 这场景像是 flink cep 的一个经典监控场景,基于窗口进行不同级别的报警统计。 问题就是你们的业务不需要做这种监控。你强行安排就不合适。如果想强行上,就去做更值得监控的业务。 |
65 Raymon111111 2019-12-27 16:14:04 +08:00 当然是听领导的 |
![]() | 66 liangzai 2019-12-27 16:15:02 +08:00 听领导的... |
![]() | 67 janxin 2019-12-27 16:33:05 +08:00 虽然不是很理解,但是如果使用开源监控报警方案,应该都是滑动窗口式的吧 |
![]() | 68 xuanbg 2019-12-27 16:37:55 +08:00 监控、告警不是应该设计成事件驱动的吗???又不是统计,要什么滑动窗口?再说,你这个滑动窗口是按时间滑动还是按数量滑动?按数量滑动又按什么数据的数量来滑动?问题太多了,解释起来老费劲了。 |
![]() | 69 zongren 2019-12-27 17:17:06 +08:00 没听明白你的方案是什么意思,接口统计? |
![]() | 70 justfindu 2019-12-27 17:26:37 +08:00 你不还是定时任务吗...区别是啥. |
![]() | 71 Milan010 2019-12-27 17:27:34 +08:00 via iPhone 一颗红心,两手准备,当领导的方案进行不下去的时候,悄悄拿出自己准备好的,然后把功劳都归领导,默默享受加薪…… |
![]() | 72 lights 2019-12-27 17:48:25 +08:00 小的技术实现听领导的,无所谓 大的技术方向有冲突,开始考虑是否离职 |
73 lastpass 2019-12-27 17:55:17 +08:00 滑动窗口本身就是比较简单的。 实现起来不超过 20 行代码。→_→ |
74 jinchenglong 2019-12-27 18:08:23 +08:00 如果你在公司没有不可撼动的位置的话,别给自己找麻烦,现在行情不好,过了年再说。 |
![]() | 75 wangyzj 2019-12-27 18:13:40 +08:00 听老板的 炫酷不等于好用 |
![]() | 76 sdushn 2019-12-27 18:32:02 +08:00 要么听领导的,要么换一家能让你这么做的公司 |
![]() | 77 wulin 2019-12-27 18:40:41 +08:00 对于这种憨憨领导,做个 web 页面实时展示限流情况他就懂了 |
78 fomeiherz OP 感谢大家的建议!!!听领导的!!!但是作为一个技术人,有自己的实现想法也没有错。如果自己的想法和领导的想法冲突,领导的想法也是可行的情况下,还是按领导的想法去做吧。 |
79 ljpCN 2019-12-28 00:13:29 +08:00 via Android 还是想知道这具体到底是个什么需求,每分钟一个窗口在查啥。。大家不好奇这个问题和最佳解决方案吗? |
![]() | 80 alphatoad 2019-12-28 00:17:43 +08:00 via iPhone 讲道理 sliding window 很好…… |
![]() | 83 NeinChn 2019-12-28 03:12:10 +08:00 为什么不是找一个支持自定义规则配置的自动告警框架+监控框架 要是大项目肯定就框架支持了 要是小项目,怎么简单怎么来 |
![]() | 84 Reficul 2019-12-28 09:26:58 +08:00 via Android ![]() 非滑动窗口可能存在假阴性,而且告警最多可能滞后一个窗口时间。 因为如果希望一分钟发生 2 次就告警,那么如果非滑动的窗口可能会把两次事件切分到两个窗口里,均不满足条件,然后静默。 至于这种情况是不是 critical 的,我只能是觉得“又不是不能用”。线上大规模机器都用着,搓是挺搓的,但是咱也不敢说,咱也不敢问不是么。 |