1
tanranran 2019-12-26 23:37:38 +08:00 10
听领导,简单实现
|
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 21
对技术的执着这句话听起来咋有点搞笑呢。。。
|
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 1
能否详细讲一下「滑动窗口实时进行统计」的方案设计
|
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 2
商业项目领导说了算
个人项目自己想干嘛干嘛 商业项目还硬按照自己的想法来,就好像是上了战场将军说战略撤退,你偏要带队进攻,违反军令了 |
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 1
好吧,我也没看明白,对于接口的监控和告警,这样滑的意义是什么呢,直接一分钟监测一次写库会怎么样?
|
16
k9982874 2019-12-27 08:33:15 +08:00 via iPhone
看楼主的解释,看起来只是分成 5 个线程一分钟执行一次的定时任务。
领导的建议是对的,当然可能没理解楼主的意思。 |
17
askfilm 2019-12-27 08:33:50 +08:00 11
@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 1
听领导的,年轻人有对技术的执着,Github 是更广阔的舞台。
|
22
NetworkManager 2019-12-27 08:42:09 +08:00 1
既然参加工作了 那就听领导的 按照领导的意思来 除非公司缺你不可 这世道就这样 挣钱 挣钱 挣钱 最简单的方法完成就可以拿钱 没必要搞什么花里胡哨的 楼主可以把自己的想法方案 放到 gayhub 上
|
23
binux 2019-12-27 08:42:50 +08:00 1
比如这样: 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 6
为啥大家都不理解...
滑动窗口是最合理的,一般是简单的脚本去配置,比如( 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 1
我倒觉得有技术执着是好的,不然很难成为一个优秀的程序员。不过公司项目,领导说怎么做就怎么做吧。。。
|
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 1
非滑动窗口可能存在假阴性,而且告警最多可能滞后一个窗口时间。
因为如果希望一分钟发生 2 次就告警,那么如果非滑动的窗口可能会把两次事件切分到两个窗口里,均不满足条件,然后静默。 至于这种情况是不是 critical 的,我只能是觉得“又不是不能用”。线上大规模机器都用着,搓是挺搓的,但是咱也不敢说,咱也不敢问不是么。 |