工作的时候喜欢架构设计越简单越好,这样是不对的吗?

查看 41|回复 3
作者:azusematsuri   
工作的时候一直喜欢尽量把架构设计的简单,能不能做的复杂功能就不做
比如之前产品要我们做个后台录制客户给的直播视频链接,产品有个问题就是如果不同客户提交了同一个链接,是不是我们后台会重复录制?
我觉得用重复录制的设计会比较好,因为我原本设计的录制机,是一个链接就会单独起一个 deployment ,也不会检查是否有重复的链接;其二重复录制也不会占用多大资源,链接大概率是我们内网的直播,不占用带宽,录下的东西存对象存储里一天也就几毛几分钱。
不过这样的设计大概争对的也就是二位数以内客户,最多三位数的录制链接了,我觉得在这个量级下面,完全完全没有必要设计复杂的去重逻辑,根据链接去重?那每个链接都要存到数据库里计数,计到 0 才能删除录制服务,万一客户提交的链接后面有乱七八糟的参数?是去参数拿原始链接去重,还是直接带上参数存数据库里?
以前有另一个同事就是这样的设计,我觉得真的是非常、非常的负责,首先他的 worker 服务启动的时候会去查数据库,查有哪些链接还没有分配到 worker ,如果有的就把自己的 workerid 更新进去,然后自己作为 worker 开始录制,这样每次要查有哪些视频没有录制还有去翻数据库,不甚其烦。一个 deployment 一个录制,在 deployment 列表里直接就能看到所有正在录制的信息,不需要拿个直接把 replica 改成 0 ,不是很方便吗。
我觉得这个量级下面很多架构完全完全没有必要设计的那么复杂,我的思路有错吗?
Songxwn   
的确,网络这边在设计底层架构的时候,越简单越好,方便维护。
retrocode   
越简单越好,最烦的就是这里以后会怎么样哪里以后会怎么样,嘎嘎一堆预留代码预留接口,结果根本没有用。先以最简模型开发完成,剩下后面慢慢迭代,遇到了再说。
Perry   
你直接把两个方案的研发时间,资源花费,各种优缺点对比下给整个组讨论下不就完了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部