仙人掌

当陈速坐下来,打开ssh终端,在linux开发服务器上准备建立工程目录的时候,开始思考起工程名称来。因为任何一个软件项目,除了其描述性名称以外,还需要一个工程名,这样方便代码的组织和管理。陈速在脑海里思索着“直播”、“流媒体”、“电视节目”等这些词汇对应的英文单词,想着怎么组合出一个好记又特别的名称来。

一时间没有什么头绪,陈速觉得有些烦乱。于是起身走到了落地窗前,望着东三环立交桥上川流不息的那些车辆。忽然,他的脑海里出现了一盆沐浴在阳光下的仙人掌。就是它了,陈速赶紧回到座位,打开翻译软件,找到了那个单词:cactus。

怀着几乎是庄严的心情,陈速在键盘上敲下“mkdir cactus”,并执行这个命令创建了直播CDN程序的根目录。在不久以后,“仙人掌”就会成为光谱科技直播项目的总称。但现在,这个工程里只有边缘节点,还有许多艰苦的挑战在等待着陈速去战胜。

陈速未曾预料到的是,他面对的挑战不仅是技术上的,也有人的原因。

当初就是这么设计的

陈速现在才有时间来细读肖平安完稿以后的系统设计说明。看着看着,陈速意识到有一个关键问题并没有被解决。他赶紧起身找肖平安说这事,可肖平安却认为设计评审已经结束,现在不接受任何修改。两人说话的声音渐渐有些大,梁江峰闻声过来一听,就把两人都给拉到会议室去了。

梁江峰示意陈速把话从头细说一遍,陈速整理着思路,缓缓说道:“就是现在肖平安的设计里缺少对频道列表的管理,这样他的中转服务启动之后怎么获取频道列表呢?”

肖平安闻言立即说道:“我就把频道列表配置放在本地,程序启动读取一次就行了。”

“那中转节点数量多了以后怎么办?” 陈速也快速地提出下一个疑问。

“初期上线又能有多少用户,那几台机器运维自己配一下不就好了。” 肖平安对这个问题显然没有想太远。

“好,” 陈速不打算在这个问题上退让,“那频道发生变更怎么办?增加频道或者频道下线,难道要运维在每台机器上都改配置并且重启服务?”

“当初就是这么设计的!” 肖平安猛然爆出这一句来。当然,在以后的工作中,肖平安还会对不同的人把这句话重复很多次。

陈速觉得自己表达的已经够准确了,他没有再与肖平安理论,转向梁江峰问道:“梁工,你怎么看这事?”

梁江峰眼睛盯着桌面,默思了片刻,抬起头来看着陈速问:“那陈工你的建议是什么?”

“应该再开发一个频道列表管理服务,” 陈速对这一点胸有成竹,“把所有的频道信息都放在管理服务上。然后其他所有的中转服务、边缘服务都从管理服务获取频道列表信息,这样频道上线、下线都可以热更新了。”

梁江峰闻言点了点头,肖平安这时候不再表示反对意见了,但他还是说:“你说的这个方案当然理想,但现在时间这么紧,洪总的态度你也看到了。能把核心的功能完成就不错了,反正频道列表又不是没有手段解决,就是运维费些事罢了。”

陈速索性不再说话,只是看向梁江峰,后者也正好看向了他。梁江峰有些迟疑地问:“陈工,你这边能有空做这个服务吗?”

“可以,” 陈速想既然是自己提出来的,那就把这事扛下来吧,“这个服务我来开发吧。平安,回头我先把协议定出来,你看下是不是合适,然后我就给加到设计文档里去。怎么样?”

“行,我没意见。” 肖平安终于同意。

想要个基础库

陈速当天就把频道列表管理服务的通信协议定好了,肖平安看了看没说什么。陈速动手写代码时忽然想到如果要有一套基础功能库就好了,很多基本功能都不用从头开发了。这会儿他也想起钟总留下的那个基础库来,还不知道现在能不能用,他就为这事去问梁江峰。

梁江峰听了陈速的问题之后,脸上表情变化了好几次,最后只是眯眼笑着说:“现在用不了。” 陈速还想再问十万个为什么,梁江峰却拽着陈速下楼到外面来说事了。

“那个基础库现在是洪总带着流媒体部门的人在重写呢。” 梁江峰一五一十地把他知道的告诉陈速。

“啊,那工作量得有多少啊?” 陈速一想到那些个基础库的功能就有些惊叹。

“那也没办法啊,” 梁江峰也愁眉苦脸,“我们点播CDN这儿还等着开发新功能呢,那边不开发出来,我们这也不敢用老库上。万一有点什么问题谁担得起责任啊?”

“你说钟总也不至于在基础库里埋个定时炸弹啥的吧?” 陈速自己都对这个问题有些好笑。之前业界新闻里就有传说某程序员跑路以后,设置在代码里的隐秘功能会导致程序崩溃不可用。

“那可说不准,” 梁江峰咧嘴眯眼笑着,“别说是我说的啊。我是开玩笑的啦,钟总还能不比我们明白吗?除非是不想还在这个圈里混了,虽说该打的嘴仗得打,职业道德不能拿来开玩笑嘛。”

“可我这边想要个基础库咋办呢?” 这回轮到陈速发愁了。

“你就暂且辛苦些自己做一个吧,也别像钟总那个那么完备的。用到多少就做多少好了,你看怎样?” 梁江峰给出了个主意。

“好吧……姑且这么着吧。” 陈速勉为其难地同意了这个想法。

与客户端对接

陈速花了一周时间开发了一个小基础库,为了加快肖平安那边的进度,也把这个库发给他去使用了。但要说这个一周做出来的基础库有多么稳定,陈速心里其实是很没底的,但只能是趟着地雷过河了。陈速又花了一周时间把频道列表管理服务的基本功能实现了,就是有最基本的功能,但健壮性、容错性等问题都没有考虑,只是为了方便给肖平安调试使用。

接下来就是实现边缘节点服务了,陈速刚动手就犯了难,因为和客户端的对接还没有落定呢。他想起了钟展鹏,不知道这哥们这段时间工作已经上手了没有。陈速没有耽搁,立马起身去客户端部门找他了。

陈速跟客户端部门经理郑明友打了个招呼,说明来意。老郑点点头表示自己知道了这个事,接着就忙自己的去了。陈速走到钟展鹏座位跟前还没开腔,钟展鹏察觉到有人来,抬头一看,立马站了起来还是那么客气地打着招呼:“陈工,您找我有事?”

“是啊,钟工。” 陈速对钟展鹏其实留了一些心眼,是以并未像对其他同事那样随意,他说:“就是之前找过您,说直播客户端对接CDN的事。不知道您这边研究得怎样了?”

“哟,这事啊。” 钟展鹏显然有些措手不及,“其实吧,我这段时间才把客户端这边的代码看了个七七八八,大概明白个意思。但现在如果上手往里头加东西可能还费点劲。”

这让陈速有些失望,但也不想对钟展鹏言辞过于急切,还是耐心着问:“那咱们不说马上对接,咱们先把传输协议定下来怎样?这样您这边可以边看边加,反正协议定好了又不会改变。我那边也还在开发,等我们都开发完了一块儿对接,不是正好吗?”

“陈工这个主意很好。” 钟展鹏表示赞同。

陈速正想接着讨论协议细节,忽然想起一个问题,问道:“钟工,您这边调试的时候怎么看播放效果?”

“目前点播这边是在盒子里查看系统日志来调,不是很方便。直播还根本没有环境,我打算先下一个开源的播放器试试。”

“这样啊……” 陈速想着这时间确实是够紧的了,这个问题又让他想到了黄云鲲,说:“咱公司有个专门做视频编码算法的哥们,他叫黄云鲲,是流媒体服务部的。他负责开发直播视频编码工具,到时候咱们得从他那儿接流过来测播放效果呢。”

“哦,是吗?” 钟展鹏显然并不认识这个人,“那陈工您是从他开发的工具那儿收直播流,然后推送到CDN的边缘节点上吧?我再从你的边缘去拉取数据再播放出来,是这个过程吧?”

“完全正确。” 陈速抚掌而笑。不得不说,能考上北大的人,这脑子都是相当好使的,对于事情都能有很准确的把握。

随后陈速与钟展鹏将协议的基本细节草定了一下,约好由陈速回去编写一份详细的文档并发送出来给大家评审。陈速告辞钟展鹏后,路过流媒体服务部时,想着正好可以去找一趟黄云鲲了。

仙人掌之歌——开发(1)相关推荐

  1. 仙人掌之歌——开发(2)

    直播编码 走到黄云鲲座位前,陈速就笑着招呼道:"黄老板,正忙呢?" 因为黄云鲲那一口慢吞吞的广东普通话,总让陈速想起香港电影里的那些人物,觉得颇具喜感,因此也有些玩笑地这么称呼着他 ...

  2. 仙人掌之歌——路转峰回(3)

    技术管理部老大到岗 眼下的任务都交到运维部那边去了,詹季明负责给雷定宇讲解程序参数配置和启动方法.陈速在忙碌了这么久之后难得清闲一些,就想着现在实际架构和当初的设计已经有了很大出入,打算把系统设计说明 ...

  3. 仙人掌之歌——上线运营(2)

    一切正常 在老家办事就是比北京方便,老娘托人给陈速买好了一张卧铺火车票.春节假期刚满,陈速就回到了北京.第一天上班公司没多少人,陈速走到自己的工位上看看,东西都还在,公司没消失,老板看起来也没跑路. ...

  4. 仙人掌之歌——金秋十月(2)

    逛中关村 又休息了两天,陈速可算是好全了,一大早就跟云冰洁说:"亲爱的,今天咱不在家做饭了,到中关村逛去.再看个电影,吃大餐." "就知道吃,看你那肚子大得像样吗?&qu ...

  5. 仙人掌之歌——进军To C直播(1)

    要解决的问题 只过了两天,洪武青就叫陈速和梁江峰到他办公室去一趟了.进了办公室,钟展鹏和葛栋山也已经在里面了.陈速暗道这看来就是要规划直播CDN的新任务.洪武青示意大家都坐下,这会儿连沙发带椅子,四个 ...

  6. 仙人掌之歌——跳槽前后(5)

    我想给自己一次机会 陈速一上午已经跑了三趟厕所,每次完事洗手的时候他都对自己说"我现在就去跟他说." 不过第三次出来时他瞥了一眼刘格,又回到了自己的工位上坐下来.陈速盯着电脑屏幕啥 ...

  7. 仙人掌之歌——上线运营(4)

    回看功能开发 陈速花了一周时间,将自己的构思写到了一份word文档里.从需求概述.总体结构.详细功能说明以及部署说明等,总计六页内容.陈速编写完后又从头到尾自己过了一遍,觉得没有什么纰漏,便发送给直播 ...

  8. 仙人掌之歌——路转峰回(4)

    文章目录 确实有问题 计算服务器数量 就是钟展鹏告我的状 确实有问题 李通推开郑秋阳书房的门,打了声招呼走到沙发上坐了下来.郑秋阳已经泡好了茶水,寒暄了几句.李通单刀直入地说:"郑老师,光谱 ...

  9. 仙人掌之歌——直播业务立项(2)

    他想要一张广电牌照 李通把车开进香山茶舍停车场停好,立即就来到了郑秋阳书房门口,轻叩了两下门然后推门而进.郑秋阳正在书桌电脑前看着什么,看到李通进来后便招呼他在沙发上坐下,他自己也起身坐到沙发上开始烧 ...

最新文章

  1. 02-Wifi通讯架构介绍
  2. MCU中printf重定向实现
  3. LeetCode 刷题笔记 (树)
  4. ajax struts 返回html,Struts2+ajax 异步请求,向前段返回字符串
  5. java 并发之volatile
  6. Vue-自定义表单验证
  7. 代理模式和php实现
  8. 【第105期】游戏策划:应聘简历的附件那些事
  9. Silvaco TCAD仿真2——Silvaco TCAD 档名
  10. mumu模拟器安装xposed
  11. 压六类双绞线网线水晶头,
  12. 每日总结-----12月15日
  13. Jetson Nano开发实录
  14. 分布式专题——接口幂等性实战
  15. python提高图片分辨率_python 获取图片分辨率的方法
  16. 互联网红利之道-流量变现
  17. spSellProduct 中,Begin Transaction 和 Commit Transaction 语句被包装在 Begin Try 和 End Try 块之间
  18. Docker 安装常用软件(超全、超实用)
  19. redhat,FC5,CentOS你装上了吗? 超简单硬盘安装redhat,FC5和CentOS
  20. Visual Studio Code插件整理大全

热门文章

  1. Spring Cloud 微服务开发:入门、进阶与源码剖析 —— 2.2 Spring Cloud Eureka 进阶
  2. 书签整理-程序员常用网站导航
  3. qq飞车c语言,QQ飞车手游c车排行榜 最强c车推荐及介绍
  4. VUE3+TS(父子、兄弟组件通信)
  5. 计算机的小结怎么写,计算机专业技术个人小结怎么写
  6. CSDN富文本编辑器回车行间距过大问题的解决
  7. python获取命令行参数 flags_命令行参数--tf.app.flags和python argparse
  8. 分享网络素材教程与学习自媒体的课程(感谢大家的支持)
  9. 五种拥有光明发展前景的新兴编程语言
  10. MacBook pro使用入门(2)