当前位置:网站首页>仙人掌之歌——投石问路(2)
仙人掌之歌——投石问路(2)
2022-07-02 12:28:00 【程序猿阿诺】
P2P任务分工
刘欣怡入职三天之后,林象南过来将陈速和梁江峰叫到了洪武青办公室去开会。陈速进去一看,客户端部门经理郑明友、钟展鹏、刘成玉和葛栋山已经坐在里面了。
洪武青首先向葛栋山发问:“栋山,之前说让你梳理直播CDN架构,工作完成了吗?”
葛栋山的表情有些扭捏,他说:“陈工把他那边的设计文档都发给我了,我也找雷定宇去了解目前线上的具体部署了。我最近发现了一个挺好用的可视化工具,能自动呈现服务器的架构图,我正在弄呢。”
“那抓点紧,把你的工作成果发出来吧。” 洪武青皱了皱眉头,又转向大家说:“今天把大家叫过来,主要是想说一下直播的后续工作。老板已经拍板要做To C用户的直播业务了,前两天他还问我到底要买多少台服务器。我当时没敢说数,只说技术这边我还要再仔细思考一下。”
陈速听得这话,心中自然是一紧,但也有一股跃跃欲试的劲头,他打算先观察再做决定。洪武青接着说:“我还是想基于P2P的架构来实现,之前也和在座的几位同事简单聊过一下。所以在动手干之前,我决定先分个工。”
说着,洪武青起身走到白板前,拿着碳素笔画起了各种方块和线条,并讲解着:“首先,我们需要一个节点管理服务。所有的客户端都要向这个管理服务登录、上报心跳消息。其次,客户端从节点管理服务获取其他有效节点。这个有效节点的意思,就是上面有直播频道的缓存数据,能对外提供数据交换。”
大家都在认真地听着,这些原理陈速心里都明白,但洪武青讲出来显得条理很清楚。洪武青补充说:“大家肯定会问,第一个节点登录进来,还没有其他节点的时候怎么办,对吧?”
他画了一个方框,并且从代表客户端的方块上伸出一条线连上那个方框,“我们要在服务端也部署一个P2P节点,它分享数据的算法和客户端一样,只不过它是部署在服务端的。最好是每个边缘的CLS匹配一个服务端P2P节点,这样,整个大的逻辑我们就走通了,你们看下有什么问题?”
钟展鹏第一个提问:“那服务端的P2P节点的数据从哪里来?它去访问CLS获取吗?”
“你这个问题很好,” 洪武青望着他画的架构草图,想了一会儿说,“我觉得应该是CLS启动之后,就主动向P2P服务节点推送数据。反正是在同一台机器上,不存在流量费用问题。这样提前缓存好数据,客户端起播的速度就很快了,这个很重要。”
这么一说,大家就明白了,陈速也在脑子里飞快地估计着CLS要新增的开发工作。洪武青总结说:“这么看来,开发工作主要有三个部分。一是要做节点管理服务;二是服务端P2P节点;三就是客户端P2P节点。”
陈速这时候倒提了个问题:“洪总,我问一下啊。就是服务端节点和客户端节点,它们的数据传输协议甚至功能都得是一样的吧?那是不是说客户端节点的代码编译成可执行程序,直接就可以部署在服务器上呢?”
“还真不是直接照搬,” 洪武青看来是思考过这个问题的,“数据分享这个功能的代码倒是可以共用,但它们之间也还是有区别的。你看,客户端节点同一时刻只需要播放一路节目,它缓存一个频道就可以了。但服务端程序你不可能做成一个频道起一路程序吧?那管理起来多复杂,我们肯定希望是一个服务就能支持所有频道。就像你的CLS一样,这样管理起来多方便,对吧?”
这个解释陈速完全接受,他想自己思考问题还是有局限性啊,光想着共同点,却忽视了服务端与客户端的差异。洪武青开始分工了,他朝向郑明友说:“明友,客户端的P2P节点功能,你找两个人一块儿弄。先把设计做出来,主要是我们刚才讨论的这个过程,还有通信协议、数据分享协议这些。其他的节点管理服务、服务端节点都依赖于你这边的协议来做开发。”
郑明友点头表示明白,洪武青转向陈速问道:“陈速,你这边看看服务端的P2P开发能做吗?”
陈速倒不是不想做,但问题是他这会儿手头上的事也不少,他决定先把自己的顾虑说出来:“洪总,P2P的开发我以前没做过啊。而且我看这里面CLS也有开发的工作量,会不会捣腾不开啊?”
“也是,你这边还要维护线上直播服务的稳定运行。不过我们做这个直播P2P也是投石问路,先走起来再说,” 洪武青点了点头,转向钟展鹏问,“展鹏,你这边能安排人手做吗?”
“那就让成玉来做吧。” 钟展鹏倒是干脆,刘成玉也只是笑了笑没说啥。陈速一看,刘成玉是能者多劳啊,这哥们的产出真是高效。
“那节点管理服务,江峰你这边安排一个人来做,好吧?” 洪武青说着又转向了梁江峰。
“行,” 梁江峰盘算了一下说,“金清林这阵子正好有空,就安排他来做吧。”
“我还得多说两句啊,” 洪武青不放心地叮嘱着,“P2P的数据协议,我们就不能用TCP了。因为客户端节点大多是在家庭路由器的后面,节点之间很难基于TCP协议建立连接。目前的那些文件共享式P2P,都是基于UDP实现的,这一点你们在设计的时候一定要考虑到。”
林象南这会儿最紧张,因为他对技术细节显然不如开发人员那样精通,但偏偏今天讨论的又大多是纯技术内容,所以他只能尽力将一些术语和概念记录下来。林象南看看要散会了,赶紧说:“洪总,我总结一下今天的会议内容啊。就是郑工那边负责客户端的设计,是吧?然后成玉是服务端节点设计,梁工那边是节点管理服务的设计。陈速暂时没有任务,是这样吗?”
“不,陈速得和刘成玉一块儿做服务端的设计。” 洪武青补充了这么一条。
“OK,那我知道了。” 林象南一抹脑门上的汗,吁出一口气。
四处看房
云冰洁现在每天也有事可做了,一大早起来把两人的便当都做好,然后和陈速一起出门。云冰洁这段时间对早晨的北京,印象最深刻的就是各种挤公交、地铁的人流了。
她又跟陈速感叹上了:“哎呀,阿速,这坐公交和地铁的好吓人呀。你知道不,我第一天去学校的时候,等了三趟车都不敢上啊。”
“这多大点事,” 陈速倒真是不在乎了已经,“你是没上三环主路看过300路公交,那才叫夸张。”
“那就根本别想上了吧?” 云冰洁试着想象那场景。
“不,” 陈速一边回忆一边笑说,“就是开过来一辆300路,你看车上已经人贴在窗户上跟纸片一样了,站台上还有好几十号人。公交到站没下几个,但最后公交开走时,站台上的人居然全挤上去了。我至今仍然感叹人体的伸缩能力,太强悍了,啧啧。”
云冰洁听得这么说,吐了吐舌头说:“哎,我现在每天也挤得跟纸片一样。上个班都这么辛苦,阿速你都是怎么过来的?”
“习惯不就好了。” 陈速平淡地回着,好像在说着一件无关痛痒的事。
“这周末我们得去看房了吧?” 云冰洁问着。
“对,地点我也规划了下,” 陈速说着打算,“咱们先南后北,从大兴那边看起,北边就到天通苑为止。我觉得应该差不多了。”
“一天能看完吗?” 云冰洁显然还不知道这个范围有多广泛。
“一个月时间也就是走马观花的,耐心点吧。” 陈速倒是笑了起来。
“好吧,好吧。” 云冰洁看到自己要坐的公交车进站了,赶紧跑过去跟着大家往上挤了。
到了周末,陈速带着云冰洁坐四号线往南,在高米店南站下了车。北京大学软件与微电子学院在这边,陈速第一份工作就是在这里开始的,所以他觉得这边环境还可以,而且房价相对于市内来说要便宜不少。
陈速一边给云冰洁说着当初自己在这里工作的事儿,一边寻视着街边的中介门店。进到一家门店,中介热情地迎了上来,听陈速把情况一说,就拿了钥匙领着出门去看房了。
这附近的小区,老一些的,一万出头,陈速觉得还能接受。但云冰洁看过几个老小区后却不太满意,她悄悄地拉着陈速说:“阿速,你看这个楼道这么昏暗,还没有电梯,我不喜欢这样的。”
陈速一听,决定尊重云冰洁的意见。这两天看下来,基本上没有满意的,于是打算下周再往北边找找看。这段时间,陈速也没闲着,寻思着找哪些同事朋友可以打听一下房事。
当然,第一个想到的还是郑秋阳,不过他自己家房子买得早,对现在的行情也不是很清楚,没有给陈速提供太多有用的信息。陈速又想到一位老同事,曹姐,她是陈速第一份工作时的测试负责人。当时因为工作关系,陈速和曹姐来往比较多,后来也就成了挺好的朋友。
陈速打开QQ找到曹姐就问上了这事,曹姐的回复很快:“阿速,我现在住北苑这块儿的公园2008小区呢。你要在北京买房了呀?哪天把你对象带过来给姐瞧瞧呗。”
“行啊,曹姐。你帮忙打听一下你们小区的行情啊。” 陈速赶紧回话。
“没问题,我下班回去就帮你问啊。” 曹姐也一向爽快。
过了两天,曹姐就发了消息过来:“阿速,帮你问过了,均价两万左右。现在就看你要什么户型的了?”
看到这个数字,陈速倒抽了口气,同样的价钱在大兴那边可以买两套了吧。他犹豫了一会儿,还是回道:“这样啊,谢谢曹姐啊。这周末我过去看看吧,到时候找你啊。”
又到周末,陈速拉着云冰洁坐五号线到北苑路北站下车。两人从C口出站后,一路打听找到了公园2008小区。对这里云冰洁表现出了满意的态度。因为相比于大兴那荒凉的感觉,这里明显要热闹繁华得多。那时云冰洁还不知道,再往北一些就是著名的天通苑了,那里面可住着几十万人。
他们先找中介带着进了小区,一进去之后,云冰洁就对小区的环境大为欣赏。因为公园2008里面人车分流,小桥流水,绿树成荫。在北京还没见过这样的居住环境,连陈速也颇为心动了。中介领着看了几户之后,陈速觉着板楼的户型着实不错,而塔楼里的户型看起来就感觉有些奇怪了。
听中介说了这几户房子的报价,陈速感觉压力备增,他决定先不去想这些了,带着云冰洁去曹姐家坐一坐。曹姐热情地接待了陈速二人,给他们介绍这个小区的情况,回忆当初买房的细节。
曹姐总结说:“这个小区我是开盘时就过来买的,一直住到现在,真挺舒服的。我劝阿速你也赶紧决定吧,毕竟北京的房价以后不定会怎么样呢。”
“是啊,曹姐,” 陈速看这么些天房子,也是深有感触,“还真是想不到的事,就说当初你买下来时九千多对吧,还不到一万。这会儿就翻一番了,以后再看,说不定这还算便宜的呢。”
“那可不,” 曹姐也是苦口婆心的样子,“当初有个朋友跟我们一块儿看的,他就觉得九千多买这里还嫌贵呢。一直没买,结果现在天通苑都不止这个价了,你说是不是?”
“曹姐,你们真有眼光呀。” 云冰洁发自内心地赞叹了一句。
“哪有,我们当初也是没钱,” 曹姐笑着对云冰洁说,“这里的环境是好,但附近的学校一般。要有钱的话,我肯定考虑海淀的学区房呢。”
陈速重重地叹了口气,这北京城里真是卧虎藏龙,不看房价不知道自己有多穷。
从曹姐家出来,回到了西北旺的住处。晚上两人没有睡意,一直在讨论这些天看过的房子。云冰洁说:“我还是喜欢今天看的公园2008。还有你老同事在那里,能有熟人来往一下呢。”
“这当然好啊,” 陈速也没有否认,“但这价格就有点高啊,如果买套两居室的都将近两百万了,超出我预算太多了。”
“那你到底能买得起多少的?” 云冰洁有些气鼓鼓地问。
“一百二三十万吧。”陈速有些无奈地说,其实就这也还得贷80万,首付家里给的加上自己存的,也就不到50万。
“哎,现在知道你有多穷了。” 云冰洁似乎有些泄气。
“那,小户型的你考虑吗?”陈速试探着问。
“哪种是小户型的?”云冰洁反问。
“就今天我们看过一居室的那种。我觉得板楼那边的一居室户型还可以,你有印象吗?”
“好像记得,就是窗户外面是靠着马路的吧?”
“对,就这点不太好,怕会比较吵到时候。”
“那不要紧呀,我觉得挺好。先住下来再说,以后等你有钱了再换大的吧,哈哈!”云冰洁就是这样,火辣的脾气一会儿上来,过一会儿就消失。
“那行,下周我们再过去仔细看看。如果满意我们就让中介约房主过来谈,怎么样?” 陈速也在心中暗下决定。
“大事听你的,你说了算,嘻嘻。” 云冰洁说完这话以后,满意地关灯睡觉了。
边栏推荐
- /bin/ld: 找不到 -lcrypto
- Finally, I understand the event loop, synchronous / asynchronous, micro task / macro task, and operation mechanism in JS (with test questions attached)
- [leetcode] 877 stone game
- PyObject 转 char* (string)
- /bin/ld: 找不到 -lgssapi_krb5
- 6095. 强密码检验器 II
- [leetcode] 417 - Pacific Atlantic current problem
- College entrance examination score line climbing
- 6095. Strong password checker II
- Cultural scores of summer college entrance examination
猜你喜欢
隐藏在 Nebula Graph 背后的星辰大海
Postgressql stream replication active / standby switchover primary database no read / write downtime scenario
如何實現十億級離線 CSV 導入 Nebula Graph
可视化技术在 Nebula Graph 中的应用
Experiment collection of University "Fundamentals of circuit analysis". Experiment 7 - Research on sinusoidal steady-state circuit
Review materials for the special topic of analog electronics with all essence: basic amplification circuit knowledge points
【Salesforce】如何确认你的Salesforce版本?
Experiment collection of University Course "Fundamentals of circuit analysis". Experiment 5 - Research on equivalent circuit of linear active two terminal network
Ant group's large-scale map computing system tugraph passed the national evaluation
Experiment collection of University "Fundamentals of circuit analysis". Experiment 6 - observation and measurement of typical signals
随机推荐
C # get PLC information (kepserver) II
/Bin/ld: cannot find -lssl
智联招聘的基于 Nebula Graph 的推荐实践分享
2303. 计算应缴税款总额
6096. Success logarithm of spells and potions
Some problems about pytorch extension
Tree binary search tree
动态规划入门二(5.647.62)
[leetcode] 577 reverse word III in string
Folium, diagnosis and close contact trajectory above
Use ffmpeg command line to push UDP and RTP streams (H264 and TS), and ffplay receives
Pyinstaller's method of packaging pictures attached to exe
Target detection - make your own deep learning target detection data set with labelimg
Flink real-time data warehouse (7): Flink realizes the full pull module to extract data in MySQL
睿智的目标检测23——Pytorch搭建SSD目标检测平台
Lseek error
Astra: could not open "2bc5/ [email protected] /6“: Failed to set USB interface
已知兩種遍曆序列構造二叉樹
Nebula Graph & 数仓血缘关系数据的存储与读写
Ssh/scp does not prompt all activities are monitored and reported