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

仙人掌

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

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

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

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

当初就是这么设计的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

想要个基础库

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

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

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

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

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

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

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

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

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

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

与客户端对接

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

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

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

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

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

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

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值