V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fomeiherz
V2EX  ›  职场话题

领导不同意我的技术实现,我应该坚持我的想法吗?

  •  
  •   fomeiherz · 2019-12-26 23:36:39 +08:00 via iPhone · 9009 次点击
    这是一个创建于 1796 天前的主题,其中的信息可能已经有所发展或是发生改变。
    关于对某个接口的监控及告警,我使用了滑动窗口实时进行统计,领导说理解太费劲,不好维护。叫我重构成更为简单的方式,比如使用定时任务定期查表的方式。
    我觉得定期查表太挫了,不符合我对技术的执着,我是应该坚持我自己的想法还是听领导的改成简单实现呢?
    第 1 条附言  ·  2019-12-28 00:02:21 +08:00
    感谢大家的建议!!!还是听领导的!!!但是作为一个技术人,性能也是我们追求的目标(查库统计的效率并不如实时流分析效率高)。当然在这个问题上,领导是不同意的,既然领导提出的方案可行的,还是听领导的。
    84 条回复    2019-12-28 09:26:58 +08:00
    tanranran
        1
    tanranran  
       2019-12-26 23:37:38 +08:00   ❤️ 10
    听领导,简单实现
    findmyself
        2
    findmyself  
       2019-12-26 23:40:58 +08:00
    听楼上的
    willxiang
        3
    willxiang  
       2019-12-26 23:41:10 +08:00 via iPhone
    除非老板是你爸,否则听领导的
    zpxshl
        4
    zpxshl  
       2019-12-26 23:43:02 +08:00 via Android   ❤️ 21
    对技术的执着这句话听起来咋有点搞笑呢。。。
    Messiv2
        5
    Messiv2  
       2019-12-26 23:45:21 +08:00
    听领导的。
    ys0290
        6
    ys0290  
       2019-12-27 00:09:21 +08:00
    对技术的执着是不是大炮打蚊子那种?
    beastk
        7
    beastk  
       2019-12-27 00:55:56 +08:00 via iPhone
    谁给钱听谁的
    gouflv
        8
    gouflv  
       2019-12-27 01:07:37 +08:00 via iPhone
    这跟技术无关,除非图表库是你自己写的
    victor
        9
    victor  
       2019-12-27 01:22:51 +08:00   ❤️ 1
    能否详细讲一下「滑动窗口实时进行统计」的方案设计
    xaplux
        10
    xaplux  
       2019-12-27 07:52:55 +08:00 via Android
    同上,什么叫(滑动窗口实时统计)?
    wc951
        11
    wc951  
       2019-12-27 08:12:48 +08:00 via Android
    spark 还是 flink
    nevin47
        12
    nevin47  
       2019-12-27 08:15:47 +08:00 via Android   ❤️ 2
    商业项目领导说了算
    个人项目自己想干嘛干嘛

    商业项目还硬按照自己的想法来,就好像是上了战场将军说战略撤退,你偏要带队进攻,违反军令了
    fomeiherz
        13
    fomeiherz  
    OP
       2019-12-27 08:15:50 +08:00 via iPhone   ❤️ 1
    @victor 1 分钟 1 个窗口,窗口数为 5 个,等同于队列先进先出。最新的 1 分钟统计窗口创建时,会对原有的 5 个窗口进行一次汇总(前提是 5 个窗口都有数据的前提下),汇总后队头出队最早创建的窗口,在队尾入队最新的统计窗口。窗口会不断向前滑动,每次保证只有 5 个统计窗口。
    liuxey
        14
    liuxey  
       2019-12-27 08:26:44 +08:00
    请听你老板的
    lhx2008
        15
    lhx2008  
       2019-12-27 08:27:32 +08:00 via Android   ❤️ 1
    好吧,我也没看明白,对于接口的监控和告警,这样滑的意义是什么呢,直接一分钟监测一次写库会怎么样?
    k9982874
        16
    k9982874  
       2019-12-27 08:33:15 +08:00 via iPhone
    看楼主的解释,看起来只是分成 5 个线程一分钟执行一次的定时任务。
    领导的建议是对的,当然可能没理解楼主的意思。
    askfilm
        17
    askfilm  
       2019-12-27 08:33:50 +08:00   ❤️ 11
    @fomeiherz

    "领导说理解太费劲,不好维护。叫我重构成更为简单的方式" ------ 这才是老道的技术经验
    "我觉得定期查表太挫了,不符合我对技术的执着" ------- 坦白说, 这是菜鸟的一根筋
    whalegao
        18
    whalegao  
       2019-12-27 08:33:58 +08:00 via iPhone
    听领导的
    opengps
        19
    opengps  
       2019-12-27 08:36:31 +08:00 via Android
    做两套,来实现双方都不压抑
    angith
        20
    angith  
       2019-12-27 08:36:32 +08:00 via Android
    什么叫对技术的执着?
    gimp
        21
    gimp  
       2019-12-27 08:38:13 +08:00   ❤️ 1
    听领导的,年轻人有对技术的执着,Github 是更广阔的舞台。
    NetworkManager
        22
    NetworkManager  
       2019-12-27 08:42:09 +08:00   ❤️ 1
    既然参加工作了 那就听领导的 按照领导的意思来 除非公司缺你不可 这世道就这样 挣钱 挣钱 挣钱 最简单的方法完成就可以拿钱 没必要搞什么花里胡哨的 楼主可以把自己的想法方案 放到 gayhub 上
    binux
        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 的,但是滑动窗口实现不依赖数据存储,能直接输出。
    golden0125
        24
    golden0125  
       2019-12-27 08:56:49 +08:00
    你以为这是 TCP 协议吗?
    sagaxu
        25
    sagaxu  
       2019-12-27 09:03:46 +08:00 via Android
    改成多负载机的时候,查库几乎不用改,滑动窗口怎么弄?
    passerbytiny
        26
    passerbytiny  
       2019-12-27 09:23:50 +08:00
    @fomeiherz #11 哥们,你这本质上还是一分钟一次的循环任务。并且,你这还是画蛇添足,或者更确切的,脱裤子放屁:
    原本,业务接口自身只负责记录告警状态(在自己的事务中),定时任务只需要查询有没有告警(在另外的事务中,或者不启用事务),同时,不需额外处理,告警就有历史记录。
    到了你这里,业务接口要将告警状态通知给滑动窗口处理器(单靠事务是没办法保证原子性的,需要特殊处理),滑动窗口处理器定期的做汇总告警、向外通知、持久化历史记录等处理。

    接口告警监控信息,关注的是“当前有没有”、“历史记录”两个信息,滑动窗口实时计算,最多也就额外增加一个“实时的最近历史记录”的信息,华而不实。

    真要执着的话,你也应该去执着事件模式。
    wysnylc
        27
    wysnylc  
       2019-12-27 09:35:21 +08:00 via Android
    你对滑动窗口有什么误解吧,你这本质上还是定时任务
    我还以为是数据推动
    charlie21
        28
    charlie21  
       2019-12-27 09:39:46 +08:00 via Android
    @gimp 原来如此 GitHub 是干这个使的
    hfbb
        29
    hfbb  
       2019-12-27 09:40:49 +08:00
    学生思维,兄弟你是去赚钱的,当然是领导怎么说你就怎么做,管他挫不挫
    alw
        30
    alw  
       2019-12-27 09:45:40 +08:00
    听领导的呀,折腾技术到开源项目里折腾。
    再说了,这种难道不是用 websocket 吗? 定时查个鬼哦。
    zhanggg
        31
    zhanggg  
       2019-12-27 09:49:25 +08:00
    既然对技术执着的话,开发一个弄到 gayhub 开源起来啊
    miv
        32
    miv  
       2019-12-27 10:11:41 +08:00 via iPhone
    听领导的
    ashong
        33
    ashong  
       2019-12-27 10:14:00 +08:00 via iPhone
    不背锅的情况下听领导的
    leon0204
        34
    leon0204  
       2019-12-27 10:21:07 +08:00
    听领导的,不然 kpi 等哭吧,小公司当我没说
    glaucus
        35
    glaucus  
       2019-12-27 10:35:12 +08:00
    对于炫技的执拗
    zaul
        36
    zaul  
       2019-12-27 10:45:20 +08:00
    面向老板编程
    hnbcinfo
        37
    hnbcinfo  
       2019-12-27 10:49:38 +08:00
    这也能有疑问,这种问题肯定听领导的啊?如果楼主不是刚毕业的新人,只能说你这几年白混了
    NoKey
        38
    NoKey  
       2019-12-27 11:10:14 +08:00
    如果出了问题,谁来负责
    就这么一个问题,你自己考虑。。。
    我们这里想拆分一个老服务很久了
    但是,没有任何一个领导愿意站出来说,好的,可以拆了试试
    所以,我们不敢动
    wangxiaoaer
        39
    wangxiaoaer  
       2019-12-27 11:13:25 +08:00
    不好意思,各位大佬,你们说的”滑动窗口“到底是啥,是浏览器的一个标签页,还是页面里面的一个 panel ?瑟瑟发抖
    radiocontroller
        40
    radiocontroller  
       2019-12-27 11:15:22 +08:00
    二楼说的对
    loading
        41
    loading  
       2019-12-27 11:17:08 +08:00 via Android
    楼主你觉得你的方案牛逼的话,起码给大家一个 demo 吧,我都没看懂。
    tankren
        42
    tankren  
       2019-12-27 11:23:40 +08:00
    naive
    CruelMoon
        43
    CruelMoon  
       2019-12-27 11:27:11 +08:00
    告警和统计是两回事,你们应该尝试辩清楚业务逻辑,而不是具体技术。
    rockyou12
        44
    rockyou12  
       2019-12-27 11:29:53 +08:00
    要是业务不很复杂,你们领导肯定是对的。不过如果有这方面的技术积累,用 flink 这些流处理做滑动窗口其实也不复杂,还是看你们团队整体技术水平吧。
    qq316107934
        45
    qq316107934  
       2019-12-27 11:45:34 +08:00   ❤️ 6
    为啥大家都不理解...
    滑动窗口是最合理的,一般是简单的脚本去配置,比如( avg(err_rate > 0.5),3min) 这种形式的,在任何 3min 内出现持续 rate>0.5 或者平均 rate>0.5 就会触发报警,这是最合理的一种方式。但是还是看人力和工期,我觉得你可以先按照领导的去做,然后积累一段时间数据看滑动窗口能给报警准确率带来多大提升,然后再报告给领导。说前端的还有说炫技的不用理他们,他们应该没做过...
    alfchin
        46
    alfchin  
       2019-12-27 11:46:37 +08:00 via iPhone
    说难听点这是装 bi 的执着。
    qq316107934
        47
    qq316107934  
       2019-12-27 11:47:05 +08:00
    @askfilm #17 现在 V 站三观已经如此了么,看来我还是菜鸟,要多学习
    pws22
        48
    pws22  
       2019-12-27 11:59:18 +08:00
    题主的意思是对时间范围内的数据进行统计汇总吧,然后得出一个结果?领导的意思是单次情况,有异常就报异常?我们监控是滑动窗口模式的(新学的名词)
    watzds
        49
    watzds  
       2019-12-27 12:06:36 +08:00 via Android
    领导不理解,领导也坚持的话,先按领导的做。否则争论到什么时候?后面可以做个比较拿数据出来看看
    watzds
        50
    watzds  
       2019-12-27 12:08:37 +08:00 via Android
    你说的方案可能是更合理的,同时领导的更简单,开发时间短,要是领导的开发时间长,效果还不好,那可以再争一争哈哈
    ofblyt
        51
    ofblyt  
       2019-12-27 14:03:42 +08:00
    工作上肯定听领导的,自己下班了再整一套
    simenet
        52
    simenet  
       2019-12-27 14:16:51 +08:00
    对技术的执着是不是大炮打蚊子那种?
    nanoha
        53
    nanoha  
       2019-12-27 14:26:45 +08:00
    听领导的 你拿钱给他干活 他说怎么实现你就咋实现啊
    你自己这么喜欢坚持自己的技术 业余搞个自己的项目多好呢
    xianxiaobo
        54
    xianxiaobo  
       2019-12-27 14:38:10 +08:00   ❤️ 1
    我倒觉得有技术执着是好的,不然很难成为一个优秀的程序员。不过公司项目,领导说怎么做就怎么做吧。。。
    xianyu191031
        55
    xianyu191031  
       2019-12-27 14:57:41 +08:00
    没有足够精力就听领导的,有足够精力就两套都做下,验证自己的想法;如果验证可行,可以让领导选而不是自己选
    技术追求跟工作需求分开,个人觉得这样是最好的
    当然如果你成了做决策的那个人的时候 你想怎么写就怎么写
    server
        56
    server  
       2019-12-27 15:01:30 +08:00
    六字真言(手动狗头),这就是个心态问题,现在做好一个工具人将来让别人做工具人。
    miniliuke
        57
    miniliuke  
       2019-12-27 15:08:37 +08:00
    @willxiang 如果领导是你爸,听你爸的
    surfire91
        58
    surfire91  
       2019-12-27 15:10:18 +08:00
    锻炼你“口才”的能力来了,说服你领导。
    这个会是一个很重要的技能。
    akira
        59
    akira  
       2019-12-27 15:13:18 +08:00
    自己实现监控和告警? 用现成的东西啊。。
    haozxuan001
        60
    haozxuan001  
       2019-12-27 15:26:21 +08:00
    我看了通篇 58 条记录,除了一个支持你的窗口的,其他的意见还是比较一致的,要不咱还是讨论下滑动窗口吧,或者再开个帖子,我觉得这个更有聊头
    edgnoz
        61
    edgnoz  
       2019-12-27 15:27:32 +08:00
    谁给钱听谁的
    hjq632233317
        62
    hjq632233317  
       2019-12-27 15:48:51 +08:00
    听领导的 不然出问题你能担得起责任啊 真的是
    vueadmin
        63
    vueadmin  
       2019-12-27 15:53:56 +08:00
    我知道稳定可行的技术方案时候,少和我提你自己的什么更优化的方案,大部分是自己看点破技术文章就不知道北的。

    如果我没有特别好的方案,就使用可查最稳妥的方案,如果你有新方案,你可以做,如果效果好,也有能力维护,就采用你的。
    glfpes
        64
    glfpes  
       2019-12-27 16:13:28 +08:00
    这场景像是 flink cep 的一个经典监控场景,基于窗口进行不同级别的报警统计。



    问题就是你们的业务不需要做这种监控。你强行安排就不合适。如果想强行上,就去做更值得监控的业务。
    Raymon111111
        65
    Raymon111111  
       2019-12-27 16:14:04 +08:00
    当然是听领导的
    liangzai
        66
    liangzai  
       2019-12-27 16:15:02 +08:00
    听领导的...
    janxin
        67
    janxin  
       2019-12-27 16:33:05 +08:00
    虽然不是很理解,但是如果使用开源监控报警方案,应该都是滑动窗口式的吧
    xuanbg
        68
    xuanbg  
       2019-12-27 16:37:55 +08:00
    监控、告警不是应该设计成事件驱动的吗???又不是统计,要什么滑动窗口?再说,你这个滑动窗口是按时间滑动还是按数量滑动?按数量滑动又按什么数据的数量来滑动?问题太多了,解释起来老费劲了。
    zongren
        69
    zongren  
       2019-12-27 17:17:06 +08:00
    没听明白你的方案是什么意思,接口统计?
    justfindu
        70
    justfindu  
       2019-12-27 17:26:37 +08:00
    你不还是定时任务吗...区别是啥.
    Milan010
        71
    Milan010  
       2019-12-27 17:27:34 +08:00 via iPhone
    一颗红心,两手准备,当领导的方案进行不下去的时候,悄悄拿出自己准备好的,然后把功劳都归领导,默默享受加薪……
    lights
        72
    lights  
       2019-12-27 17:48:25 +08:00
    小的技术实现听领导的,无所谓
    大的技术方向有冲突,开始考虑是否离职
    lastpass
        73
    lastpass  
       2019-12-27 17:55:17 +08:00
    滑动窗口本身就是比较简单的。
    实现起来不超过 20 行代码。→_→
    jinchenglong
        74
    jinchenglong  
       2019-12-27 18:08:23 +08:00
    如果你在公司没有不可撼动的位置的话,别给自己找麻烦,现在行情不好,过了年再说。
    wangyzj
        75
    wangyzj  
       2019-12-27 18:13:40 +08:00
    听老板的
    炫酷不等于好用
    sdushn
        76
    sdushn  
       2019-12-27 18:32:02 +08:00
    要么听领导的,要么换一家能让你这么做的公司
    wulin
        77
    wulin  
       2019-12-27 18:40:41 +08:00
    对于这种憨憨领导,做个 web 页面实时展示限流情况他就懂了
    fomeiherz
        78
    fomeiherz  
    OP
       2019-12-27 22:01:17 +08:00 via iPhone
    感谢大家的建议!!!听领导的!!!但是作为一个技术人,有自己的实现想法也没有错。如果自己的想法和领导的想法冲突,领导的想法也是可行的情况下,还是按领导的想法去做吧。
    ljpCN
        79
    ljpCN  
       2019-12-28 00:13:29 +08:00 via Android
    还是想知道这具体到底是个什么需求,每分钟一个窗口在查啥。。大家不好奇这个问题和最佳解决方案吗?
    alphatoad
        80
    alphatoad  
       2019-12-28 00:17:43 +08:00 via iPhone
    讲道理 sliding window 很好……
    fomeiherz
        81
    fomeiherz  
    OP
       2019-12-28 00:19:38 +08:00 via iPhone
    @ljpCN 等我整理一下分享到 github,到时候 @你就好了
    ljpCN
        82
    ljpCN  
       2019-12-28 01:14:35 +08:00 via Android
    @fomeiherz 哈哈哈,感谢
    NeinChn
        83
    NeinChn  
       2019-12-28 03:12:10 +08:00
    为什么不是找一个支持自定义规则配置的自动告警框架+监控框架
    要是大项目肯定就框架支持了
    要是小项目,怎么简单怎么来
    Reficul
        84
    Reficul  
       2019-12-28 09:26:58 +08:00 via Android   ❤️ 1
    非滑动窗口可能存在假阴性,而且告警最多可能滞后一个窗口时间。

    因为如果希望一分钟发生 2 次就告警,那么如果非滑动的窗口可能会把两次事件切分到两个窗口里,均不满足条件,然后静默。

    至于这种情况是不是 critical 的,我只能是觉得“又不是不能用”。线上大规模机器都用着,搓是挺搓的,但是咱也不敢说,咱也不敢问不是么。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3395 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.