【征稿活动】Geek Online 社区第一期投稿激励计划已启动!

活动梅川酷子 发表了文章 • 3 个评论 • 199 次浏览 • 2020-08-27 19:40 • 来自相关话题

为了回馈社区用户长期以来的支持,营造良好的社区技术氛围,鼓励更多开发者交流技术心得、分享技术实操方法及经验,创作更多优秀内容。特面向所有社区注册用户,举办第一期 Geek Online 社区投稿激励计划活动。活动时间征稿时间:8 月 27 日 – 10&nbs... ...查看全部

为了回馈社区用户长期以来的支持,营造良好的社区技术氛围,鼓励更多开发者交流技术心得、分享技术实操方法及经验,创作更多优秀内容。特面向所有社区注册用户,举办第一期 Geek Online 社区投稿激励计划活动。

活动时间

征稿时间:8 月 27 日 – 10 月 31 

评审时间:9、10 月每月最后一周进行

面向对象

Geek Online 社区所有注册用户

内容要求

对技术的介绍、产品的分析等技术类内容均可,也可以是个人实际操作的方法或经验总结,可供参考方向:

1、融云产品相关,选题包括:集成 IM 或 RTC 的使用体验、操作攻略、案例分享等。

2、结合市面上热度较高的事件/现象,从技术视角挖掘开发逻辑、产品解读等。

参赛规则

1、投稿需符合上述内容要求,图文并茂,排版美观,无错别字,代码规范。

2、在 Geek Online 社区发布文章参与,标题格式为【GeekOnline 投稿 | XXXXXXXXXX

3、稿件字数在 500 字以上

5、投稿数量不限,但所有稿件内容必须为 2020 年 8 月 27 日后作者本人新发内容

6、投稿人社区账号头像、昵称、个人介绍需资料完善

7、稿件投递后 个工作日内完成初审,并通过社区消息、邮箱通知。

评分细则

1、每月底将对当月参赛稿件进行评比,满分 10 。其中,

影响力 3 分,由社区内热度(阅读数)、互动量(点赞、评论数)加权计算;

专业性 7 分,由 Geek Online 技术专家及编辑组成的评审团,从文章实用性、创新性及代码规范度等方面综合评定给分。

2、我们鼓励投稿内容与融云产品相结合,对于此类稿件将给予社区置顶等曝光机会,增加文章影响力。

奖励

1、所有稿件通过初评,即可获得 Geek Online 加油包 1 份(内容发布 7 个工作日内发出)

2月度评选后,根据得分,给予优秀稿件 200-1000 元京东购物卡奖励,并在社区公示

3、优秀稿件,经编辑审核后,将安排在不限于公众号、社群及网媒中推广。

4、获奖作者,有机会加入社区特邀专栏作者计划,获得更高现金激励,并受邀参与融云各类开发者活动(线下/线上)

声明

1、在法律允许范围内,活动最终解释权归 Geek Online 社区所有。

2、参加活动的文章作者拥有著作权,Geek Online 社区、融云全媒体平台拥有使用权。

3、对于作者发布非原创内容或有争议内容所引起的一切后果,均由作者承担。欢迎社区用户举报,一经查实,作废处理。

编程太无聊?来当导演吧~

活动融云那些事 发表了文章 • 22 个评论 • 2808 次浏览 • 2020-08-06 15:44 • 来自相关话题

对不起~十分抱歉地通知你——当看到此贴的时候,你的“码农”生涯也许就快结束了~曾经~你为之脱发不止的 PHP~JAVA~C,都将离你而去~那个充满名利的娱乐圈,已经敞开了大门从此,你将失去自由,因为每时每刻都有狗仔跟拍~所以~你只能被逼无奈的开着法拉利,带上蛤... ...查看全部

对不起~十分抱歉地通知你——

当看到此贴的时候,你的“码农”生涯也许就快结束了~

曾经~你为之脱发不止的 PHP~JAVA~C,都将离你而去~

那个充满名利的娱乐圈,已经敞开了大门

从此,你将失去自由,因为每时每刻都有狗仔跟拍~

所以~你只能被逼无奈的开着法拉利,带上蛤蟆镜~(也许身边还有一个当演员的女朋友)

因为~你将成为一名~大导演!

 

都说“码农是最具有艺术天赋的群体”~

虽然那一句“hello world”深深地禁锢了你们的肉体,但你们的灵魂永远属于斯坦尼!

我敬爱的“猿”类们——

看着那些自以为是的外行,永远以“格子衫、地中海、单身狗”来固化你们

难道,你的愤怒还要继续隐藏在“//”之后吗?

 

事情是这样的

上半年,融云为展现其“实时音视频”的产品优势,

寻找了多家创意公司甚至影视公司拍摄宣传片~

但他们对开发者真实工作场景的无知,让我们愁眉不展

正应了那句——再牛逼的编剧,也编不出开发者的人生轨迹~

所以,与其让别人“瞎黑”,不如让程序员来“自黑”~

~融云重金邀请不仅会编程,而且还会编剧的“开发文青”

为其全新升级的“实时音视频”编写或执导产品短剧——

 

不是谁都能参加——仅限开发者(不懂编程的,请绕道~)

 

周期还比较紧张——故事大纲选拔截止到20208月31

 

不玩一二三等奖——同时选定10部优秀剧本

 

你最想了解的那些俗事——

1. 选中者将获得5位数或以上的酬劳//别多想~不会超过7位数;

2. 你最想和哪位女演员聊剧本,我们来协调(除奥斯卡影后~);

3. 也许还能参加个电影节,蹭个红地毯,对着镜头说声“hello world”;

 

激动完毕,先看看需求文档吧——

1. 结合开发者真实工作场景,撰写有共鸣度、有笑点(有泪点也OK)的故事;

2. 在故事中,巧妙植入融云“实时音视频”产品优势(植入的越巧妙越好);

3. 单集故事时长控制在3-5分钟;

4. 如果还会画“分镜头剧本”,那就更完美了!

5. 创作者必须保证故事原创性,如出现版权纠纷,由创作者自行解决,融云无连带责任;

 

这次的开发路径是由我们设计的——

1. 开发者先将原创故事的大纲发到本帖的评论区;

2. 融云将对大纲内容进行挑选,选中后将私信与作者沟通详细剧本;

3. 作者将剧本发至指定活动邮箱,融云将安排专业的编剧顾问配合作者对剧本进行优化;

4. 剧本优化后,融云将根据作者(此时应称为“导演”)的要求协调拍摄所需的有关资源;

5. 确定拍摄时间、拍摄地点,并如期拍摄制作;

6. 影片将在B站等视频网站进行首页置顶播放,融云还将协调影片参加相关的评选活动;

 

不知道有木有把事情说清楚,

如果少侠有疑问,可在“评论区”留言,我们将及时解答~

最后,来个“定场诗”收尾——

编程生涯苦无岸,需求文档似高山;

Java&C+亦无趣,秃顶单身格子衫;

日复一日无牵绊,是否也想起波澜?

索性挥毫三千字,当个导演来玩玩!

乐哉!乐哉!

 

(融云“实时音视频”产品功能详见“融云”官网~)


一起爬山吗?如果张东升是个程序员

活动梅川酷子 发表了文章 • 0 个评论 • 153 次浏览 • 2020-07-08 10:28 • 来自相关话题

我就问你怕不怕!张东升是一家互联网公司的程序员,一直以来都勤勤恳恳老实工作。可最近一段时间,老板接了几个项目回来,不但开启了996的工作模式,更要命的是频频更改需求,弄得大家是敢怒不敢言。时间一久,东升慢慢开始消极怠工,晚上也不怎么加班了。终于有一天,和老板在... ...查看全部

我就问你怕不怕!

1.jpg

张东升是一家互联网公司的程序员,一直以来都勤勤恳恳老实工作。
可最近一段时间,老板接了几个项目回来,不但开启了996的工作模式,更要命的是频频更改需求,弄得大家是敢怒不敢言。
时间一久,东升慢慢开始消极怠工,晚上也不怎么加班了。终于有一天,和老板在会议室吵了起来,老板决意让其忙完手头的项目就离职。
老板看大家最近一段时间都很辛苦,决定组织一次团建,在群里询问大家有什么活动建议。
这时,张东升提议:“最近大家都工作挺累,也没有什么机会锻炼,身体要紧,要不一起去爬六峰山吧”
东升的提议获得了不少人的赞同,团建活动就这么定了下来。
团建这天,爬至半山腰,东升问老板:“您看我还有机会吗?”
2.png
老板看了他一眼,没有说话,继续抽烟。
爬至山顶,大家三三两两都在拍照发朋友圈。
这时东升拉住老板到一旁说给他拍照,老板知道东升是为讨好自己,也就没有拒绝。
东升举起手机,却说老板衣服有褶皱,上前为其整理,竟趁其不备将其推下山崖···

晚上,张东升还在电脑前调试着代码,突然,一封主题为“警告”的邮件窗口从侧边弹了出来。
东升的心跳立刻加速,小心翼翼的点开了这封邮件,正文只有四个字:“请看附件”
附件是一个word文档,东升并没有立即打开,职业习惯让他打开了VMware虚拟机,在虚拟机中打开了这个文件。
原来以为白天的事无人知晓,没想到这一幕正好被对面山头正在拍摄抖音短视频的三个小孩用手机录了下来。
三个小孩看到了张东升T恤上的公司名字,并在公司网站上找到了他的邮箱,这才给他发了这封邮件。
张东升看到后,大惊失色,想找到对方,却不知道对方是什么来头。
这时他注意到附件是一个docx文件,想到office2007及其以后的版本才用这个格式,其实际上是一个压缩文件格式zip。
东升思索片刻将其重命名为一个zip文件,然后解压,想看看是否能发现些什么信息。
3.png
接着在docProps目录下找到了app.xml:
...
<AppVersion>15.0000</AppVersion>
...
版本号是15,看来对方用的是一个Office2013版本的word。
东升很快在网络上搜到了一个漏洞:CVE-2017-11882,这是一个可以远程执行代码的漏洞,字符串拷贝没有对长度进行校验导致栈溢出。
说干就干,东升打开了metasploit,通过它很快生成一段包含恶意代码的word文件,将其作为附件回复给了对方。
三个小孩此刻正聚集在朱朝阳的家里,自从他们发送了警告邮件,心里就忐忑难耐,一直盯着电脑屏幕,看看是否会有回复。
一看到邮件弹窗,就赶紧点了开来。邮件正文也只写了一句话:我想说的都在附件中。
朱朝阳没有犹豫,又立刻点了附件。电脑上的Word进程随即启动,解析附件doc文件时,触发了漏洞,执行了张东升事先编写的恶意代码。而此时,朱朝阳却一无所知。
4.png
恶意程序很快和张东升的电脑建立了网络连接,并开始收集朱朝阳电脑的信息,IP地址、MAC地址、电脑文件等等。
东升不愧是经验丰富的程序员,为了躲过电脑防火墙的拦截,他编写的恶意代码通过ICMP协议的负载字段进行数据传输。
朱朝阳正瞅着空白的word文档感到疑惑,突然电脑屏幕上出现了一个视频聊天窗口,一陌生男子的画面突然出现吓得朱朝阳惊出了一身冷汗。
定睛一看,这男子不是别人,正是推人的张东升。
张东升先开口了:“没想到竟然是个小孩。我已经知道你电脑的IP地址,也知道你家住在哪里,明天上午出来聊聊,就在你家巷子口的面馆。”,说完就切断了视频信号。
张东升的突然出现,显然吓坏了朱朝阳。一旁的严良问到:“什么是IP地址?他又是怎么知道你家的位置,连面馆都知道,这简直太可怕了。”
朱朝阳镇定了两分钟,缓过神来,说到:“一定是刚才的邮件附件有问题,我的电脑已经被他控制。IP地址是电脑接入网络分配的通信身份证号码,通过IP地址就能锁定电脑的位置,再用地图一看就能知道附近的街道布局和街景画面,知道面馆也就不足为奇了”
这一夜注定是个不眠之夜。
第二天,双方如约相见。张表示可以用钱买下手机,严良威胁张东升,要卖可以,必须30万。
东升愣了一下,“你们小小年纪,要这么多钱做什么?”
严良顶了一句:“不关你的事”
东升无奈,表示要先看到手机视频再说。
朱朝阳拿出手机,刚打开视频,手机竟然没电。张见状拿出自己手机的充电器给朱朝阳。
待手机充电,张看到了视频。张表示他一个程序员,挣得不多,要等到四月份发了年终奖才凑得齐。
三小孩却只给了他一个星期时间。
一个星期过去,见东升未曾联系,三小孩主动联系张。张却不以为意,说让他们去报警吧。
三小孩不解,正想拿着手机去报警,却发现手机竟然已经死机无法打开了。
原来张东升拿出的那个充电器是事先精心准备,充电器里面内置了一个小型芯片,数据线一旦连接到手机就植入病毒程序,等待时机进行手机数据破坏。
5.png
不过,让张东升没有想到的是,朱朝阳竟然提前备份了数据,再次发来邮件威胁。
夜晚,洗完澡的张东升看着镜子里在自己,回想这些年多少次熬夜加班,不记得何时竟已经秃头,戴上了假发。
6.png
怒从心中起,恶向胆边生。张东升决定把这三个小孩一并收拾了。
东升跟踪数日,终于找到另外两个小孩原来住在海边浅滩的破船上,一天夜里洒满汽油纵火焚烧。
随即又潜到朱朝阳的住处,竟发现虽然已是深夜,朱朝阳还在电脑旁写着代码,旁边的书桌上放满了C/C++编程、数据结构与算法、操作系统等书籍。不禁想起了当年挑灯学习编程的自己。没想到一失足成千古恨,如今自己再也回不了头了。
不知何故,张东升竟改变主意,悄然离开了。
第二天,张向朱朝阳的电子邮箱里发送了一份学习资料,什么剑指offer、分布式计算、云计算、微服务、Dubbo、高并发、数据库实战,琳琅满目,应接不暇,足足有100多G。
不久,海边纵火一事案发,警方通过在电信局部署的网络流量采集中心的木马警报日志,溯源恢复了之前的邮件来往信息,很快锁定了程序员张东升。
张东升再次来到朱朝阳家,挟持了朱,警方随后赶到。
朱问张:你杀了我的小伙伴,为什么却给我发了一堆学习资料?
张东升笑着说:“杀了你有什么意思,我要你像我一样,成为一个程序员。”
朝阳却说:“那你干嘛给我放网盘,100多G的资料,60KB/s,你知道要下多久吗?”
东升一听大怒,举起手中利器便要作势刺向朝阳,只听一声枪响,东升应声倒下。


转自:Python技术之巅(公众号:PythonPeak)

作者:轩辕之风

万维网的诞生 | 当我们在浏览器输入网址并回车后,发生了什么?

技术交流徐凤年 发表了文章 • 0 个评论 • 103 次浏览 • 2020-06-30 17:08 • 来自相关话题

编者按:1989年3月12日,欧洲粒子物理研究所软件顾问蒂姆&middot;李提交一个构建信息管理系统的计划&ldquo;Information Management: A Proposal&rdquo;,以便更好地管理实验室研究信息。... ...查看全部

编者按:1989年3月12日,欧洲粒子物理研究所软件顾问蒂姆&middot;李提交一个构建信息管理系统的计划&ldquo;Information Management: A Proposal&rdquo;,以便更好地管理实验室研究信息。该计划促使了万维网(WWW)诞生。1994年,中科院高能所架设了中国第一台WWW服务器,并推出第一个网站www.ihep.ac.cn,这项工程的亲历者许榕生研究员讲述了万维网(WWW)诞生的历史。

风靡世界的互联网环球信息技术World Wide Web(简称WWW)的发明源自上世纪八十年代。英国人蒂姆&middot;伯纳斯&middot;李(Tim Berners-Lee)于1989年成功地开发出世界上第一个Web服务器和第一个Web客户端软件,把互联网的应用推上了一个崭新的台阶,极大地促进了人类社会的信息化进程。因&ldquo;发明万维网、第一个浏览器和使万维网得以扩展的基本协议和算法&rdquo;而授予了蒂姆&middot;伯纳斯&middot;李图灵奖(2016年)。

互联网的雏形早在1960年代就诞生了,为什么没有迅速流传开来呢?其实,很重要的原因是早年联接到网络上需要经过一系列复杂的操作,并且不同的计算机具有不同的操作系统和不同的文件结构格式,使得跨平台的信息文件只能相互独立地划成孤岛。蒂姆曾经用一副非常形象的图画表明了他的创意(图1),即通过一种超文本方式,把分布在网络上的不同计算机内的信息有机地结合在一起,通过超文本传输协议(HTTP)从任意的Web服务器转到一台Web浏览器上进行无障碍的信息检索。这个叫Web的软件还能支持图文并茂的信息,甚至还允许发布音频和视频。这就使得后来的互联网远程教育及在线购物等等得以实现!此外,互联网的许多其它功能,如E-mail、Telnet、FTP、WAIS等内容也都可通过Web框架进行实现。

1990年12月25日,蒂姆和法国网络高手罗伯特&middot;卡里奥(Robert Cailliau)在西欧高能物理中心(CERN)一起成功地通过互联网展现了基于Web原理的HTTP代理与服务器的第一次通讯。短短的时间内,这项技术推广到了全世界。


图1 蒂姆&middot;伯纳斯&middot;李用这张图说明了WWW的创意,使原来不同计算机上的信息无法沟通,而现在可以用任何一台计算机对任何Web服务器上的信息库进行调用。


英国女皇伊丽莎白二世2004年向伯纳斯&middot;李颁发大英帝国爵级司令勋章。2009年4月,他获选为美国国家科学院外籍院士。2012年夏季奥林匹克运动会开幕典礼上,蒂姆获得了&ldquo;万维网发明者&rdquo;的美誉,他本人也参与了开幕典礼。

根据有关资料介绍,蒂姆&middot;伯纳斯&middot;李出生于英格兰伦敦西南部,他的父母都参加过世界上第一台商业计算机的建造。1973年,他中学毕业进入牛津大学王后学院深造,1976年从牛津大学物理系毕业后曾经供职于一些高科技公司,从事集成电路和系统设计的研究。1980年,一个偶然的机会,蒂姆来到瑞士的日内瓦,进入到CERN的一个实验室组里。该实验室组的首席是华裔物理学家、诺贝尔奖获得者丁肇中教授。

享誉世界的实验物理学家丁肇中教授在基本粒子研究方面取得一系列重大突破,独立发现了第四种夸克的束缚态,即J粒子,由此开拓了基本粒子研究的新领域。那段时期,丁教授在欧洲高能物理研究中心领导着L3的实验,该实验组首次邀请了由美国、前苏联、中国、欧洲等600名科学家共同参加大型国际合作研究。

在那里,年轻的蒂姆接受了一项极富挑战性的工作:为了使实验组里各国的高能物理学家能通过计算机网络及时沟通并传递信息,实验组委托他开发一个软件,以便让分布在各国实验组成员能够把最新的信息、数据、设计图资料等及时地提供给全体人员共享,随时随地犹如大家都在一起地方同步工作。早在牛津大学主修物理时蒂姆就不断地思索,是否可以找到一个"点",就好比人脑,能够透过神经传递、自主作出反应。以此为思路,蒂姆经过一段努力,终于编制成功了第一个高效局部存取浏览器"Enquire",并把它应用于数据共享浏览中。

1984年蒂姆作为正式成员重返欧洲核子物理实验室,他恢复了过去的工作,并正式写下了世界上第一个网页浏览器(World Wide Web)和第一个网页服务器(httpd)的软件源码。这时蒂姆把目标瞄向了建立一个全球范围的信息检索系统,以彻底打破信息存取的孤立行为。1989年3 月,蒂姆向CERN递交了一份立项建议书,建议采用超文本技术(Hypertext)首先把CERN内部的各个实验室连接起来,在系统建成后,可以扩展到全世界。这个激动人心的建议在CERN引起轩然大波,但开始没有被上司通过。

蒂姆并没有灰心,关键是他看到了突破口,是金子总会闪亮的!他花了2个月重新修改了建议书的措辞,最后终于得到了批准。于是蒂姆有了一笔经费,购买了一台NEXT计算机,并率领一批助手在上面开发系统。在1991年8月6日,蒂姆建立了第一个WWW网站(也是世界上第一个网站),网址是http://info.cern.ch/,在这个网站里还罗列出了各国跟进的WWW网站名单。这项利用互联网+超链接的闪亮原创就在CERN顺理成章地迅速推广开来。


蒂姆&middot;伯纳斯&middot;李

时值90年代初,中国建立了北京正负电子对撞机工程,为推动我国高能物理网络环境的进一步发展,我到了位于日内瓦的CERN考察,在访问期间就被安排在蒂姆原来的办公室内,很幸运地接触到这位WWW发明人。蒂姆在办公室门口贴了一张大黑蜘蛛趴在网上的图画,他给我解释说英文里Web也是网。他热情推荐我参加当年(1994年)4月10日召开的第一届国际WWW技术论坛大会,他做主题演讲,我亲眼看到会上会下群情振奋,所有人都感觉到一个重大的事件即将在世界上发生。那天他在屏幕上专门打出一张世界地图,用颜色标明已经推广了WWW技术的国家(当时主要集中在欧美各国),然后他刻意指着中国区域预言这里也快了。因为他知道我已经在组织策划国内着手启用WWW这项技术。

几天后,位于北京的高能物理所架设了中国第一台WWW服务器,推出了第一个网站www.ihep.ac.cn和英文网页,此刻在亚洲还没几个Web网站出现。

那年我也曾经邀请蒂姆到中国做报告,但他当时在世界各国的报告都已经安排满满的了,便派了他的助手到北京介绍WWW。差不多二十年后的2013年蒂姆才第一次得以访问了中国。

今天作为Web之父的蒂姆已经功成名就。但并不像大多数普通人都认为的那样,WWW的建立是通向致富的捷径。与那些依托互联网一夜暴富之士相比,蒂姆仍然坚守在学术研究岗位上,那种视富贵如浮云的胸襟,真正表现了一个献身科学的学者风度。回顾过去,我们看到伟大的全球互联网事业,正是由无数像蒂姆&middot;伯纳斯&middot;李这样的先驱们的无私耕耘才成长起来的。

在WWW诞生29周年之际,63岁的蒂姆发表了一封公开信,信中强调了目前互联网发展似乎正面临着一些威胁。蒂姆意识到了网络的无穷威力将给政府、企业和社会带来的剧烈改变。他预见这个发明一旦落入不适当的人手中,将成为世界的灾难。有人忙着打造一个接一个的社群网络、在线商业平台,很少会去设想他们可能带来什么后遗症。而蒂姆过去近三十年的时间里却都在努力保护互联网的纯洁,使自己的这项发明更好地造福人类,尽管他从未曾因为这个发明而直接获利。

互联网的安全问题日益显示出许多弱点,尤其过去几年里,脸书外泄超过了8000万用户个人资料,更多的网络运营商在想方设法收集个人隐私。

今年初,蒂姆出席了美国华盛顿的全球信息网基金会(World Wide Web Foundation)年度会议,这个基金会致力于保障数字环境中的人权。他认为这是一项迫切的任务,因为据他的估计,到今年下半年全球网络人口将达到四十亿。随着越来越多人在网络上分享他们的履历、政治倾向、DNA信息,网络将变得更加强大、更有价值,但同时也更加危险。

一开始,WWW技术确实是开放、自由、不受任何公司或团体所控制。不过,这种免费与开放的精神,却也成了它的弱点。如今我们几乎是自愿地让某些网络运营商控制着我们要去哪里买东西、要看到什么新闻、要对什么人点赞。

在早年网络泡沫时期,有人评论在中国WWW网站的涌现率比人口出生率还高。实际上,我们有世界上最多的用户,但是也有很多的问题。涉及到网络安全,不能不说我们用户和运营商的安全意识还需努力提高。网络安全形势不可小视,蒂姆给我们表示的忧虑不是空穴来风,它预示着互联网新的一波挑战又在开始。不管是加固WWW的系统,还是采用所谓&ldquo;去中心化&rdquo;的架构,我们都拭目以待。

来源:中国科学院高能物理研究所

【领取见面礼】限量 100份 GeekOnline加油包!等你来拿

活动雨山 回复了问题 • 61 人关注 • 62 个回复 • 1775 次浏览 • 2020-09-08 17:35 • 来自相关话题

SpringCloud之Ribbon使用篇

技术交流梅川酷子 发表了文章 • 3 个评论 • 111 次浏览 • 2020-06-29 14:20 • 来自相关话题

1、环境准备我们继续使用《SpringCloud之Eureka使用篇》里面Eureka集群环境。1.首先我这里有spring-cloud-parent pom工程2.spring-cloud-eureka-server Eureka Server 子工程 这里... ...查看全部

1、环境准备

我们继续使用《SpringCloud之Eureka使用篇》里面Eureka集群环境。

1.首先我这里有spring-cloud-parent pom工程

2.spring-cloud-eureka-server Eureka Server 子工程 这里端口我们使用90开头,我们这里集群由两个服务实例组成,分别是9090与9091端口。

3.spring-cloud-user-service-consumer 用户服务 (也就是咱们的服务消费者)这里端口我们使用80 开头

4.spring-cloud-order-service-provider 订单提供服务 (服务提供者) 这里端口我们使用70开头,我们订单服务提供着也由两个实例组成,分别是7070与7071。

2. spring-cloud-eureka-server
我们spring-cloud-parent 父工程 与Eureka Server 服务spring-cloud-eureka-server不需要动,然后分别启动9090端口与9091端口的Eureka Server。



3.订单服务(服务提供者)
3.1 application.yml

我们这里使用springboot profiles 配置文件特性将订单提供者服务spring-cloud-order-service-provider分成不同端口

spring:
  application:
    name: spring-cloud-order-service-provider

---
spring:
  profiles: p1
eureka:
  client:
    service-url:
      defaultZone: http://EurekaServerA:9090/eureka,http://EurekaServerB:9091/eureka
    fetch-registry: true
    register-with-eureka: true
  instance:
    prefer-ip-address: true   # 使用ip注册
    #自定义实例显示格式,添加版本号
    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
server:
  port: 7070

---
spring:
  profiles: p2
eureka:
  client:
    service-url:
      defaultZone: http://EurekaServerA:9090/eureka,http://EurekaServerB:9091/eureka
    fetch-registry: true
    register-with-eureka: true
  instance:
    prefer-ip-address: true   # 使用ip注册
    #自定义实例显示格式,添加版本号
    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
server:
  port: 7071

并配置idea启动



3.2 controller

修改controller,让其返回当前服务的端口,利于我们观 

<code class="C/C++">@RestController
@RequestMapping(<span style="color: rgb(249, 150, 59);">"/order/data")
public class OrderStatisticServiceController {
    @Value("${server.port}")
    private Integer port;
    /**
     * 根据用户id获取今日完单数
     * @param id 用户ID
     * @return  完单数
     */
    @GetMapping("/getTodayFinishOrderNum/{id}")
    public Integer getTodayFinishOrderNum(@PathVariable("id") Integer id){
        return port;
    }
}

3.3 启动

分别启动订单服务提供者 7070 与7071 服务,我们可以看到两个服务提供者注册到Eureka Server 上面了。



4.用户服务(服务调用者)

订单调用者服务: spring-cloud-user-service-consumer:8080

4.1 RestTemplateConfiguration

我们需要在RestTemplate配置类里面在注入RestTemplate的方法上面添加注解@LoadBalanced

@Configuration
public class RestTemplateConfiguration {
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return  new RestTemplate();
    }
}

这就ok了,我们这里不需要添加Ribbon的依赖,因为Eureka Client包里面帮我们引入Ribbon相关的依赖。

4.2 controller

这里我们只需要在调用url中写入要调用的服务名字就可以了,然后Ribbon就会帮我们从服务列表找到合适的服务调用的

@RestController
@RequestMapping("/user/data")
public class UserCenterController {
    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/getTodayStatistic/{id}")
    public Integer getTodayStatistic(@PathVariable("id") Integer id){
        String url  ="http://spring-cloud-order-service-provider/order/data/getTodayFinishOrderNum/"+id;
        return restTemplate.getForObject(url, Integer.class);
    }

}

4.3 启动测试


我们调用两次,分别返回7071与7070,说明我们Ribbon起作用了。



4.4 调整负载均衡策略

我们这边默认的负载均衡策略是:ZoneAvoidanceRule:区域权衡策略。然后我们可以通过配置来使用其他的负载均衡策略,比如我们使用随机策略:
application.yml中配置这个是针对spring-cloud-order-service-provider 这个服务的。
 

spring-cloud-order-service-provider:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

 

更多配置可以参考:
我是个链接
&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;
版权声明:本文为CSDN博主「$码出未来」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuanshangshenghuo/article/details/106975354

抢占互联网通信云市场 融云有何过人之处?

科技前线融云那些事 发表了文章 • 0 个评论 • 124 次浏览 • 2020-06-16 20:00 • 来自相关话题

随着移动互联网的发展,曾经低调的中国云通信领域步入快速发展阶段,整个市场变得越来越火热,目前来看,国内云通信行业市场规模至少百亿级,高速扩张的市场规模让更多的厂商看到了机会,纷纷入局分羹。除了融云等早前就布局的专业通信云厂商之外,从 2017 年开始,以阿里、... ...查看全部

随着移动互联网的发展,曾经低调的中国云通信领域步入快速发展阶段,整个市场变得越来越火热,目前来看,国内云通信行业市场规模至少百亿级,高速扩张的市场规模让更多的厂商看到了机会,纷纷入局分羹。

除了融云等早前就布局的专业通信云厂商之外,从 2017 年开始,以阿里、腾讯为代表的各大互联网巨头,也都开始调整组织架构,在 To B 端业务纷纷布局。这给原本就火药味儿十足的赛道又添了浓重的一笔。

经过激烈的混战之后,当下,整个云通信的市场格局已非常明了。据第三方报告显示,在国内的公有云通信 PaaS 市场,无论是业务量还是用户量,融云均遥遥领先,截至目前,融云 SDK 触达用户数达 40 亿,并且还在不断增加。

如此亮眼的成绩让业界对于融云有了更多的关注,当大家都在期待这家公司会在产品方面有何新动作时,融云出人意料的推出了五大服务体系,从服务着手,全方位多维度的提升用户体验。

此次不按套路的打法引发了大家的好奇心,融云究竟凭借什么成为互联网通信云行业的领头羊?重磅推出云服务又是出于怎样的考虑?带着种种疑问,飞象网记者采访了融云COO 董晗,揭秘融云背后的成功之道和业务布局。


融云COO 董晗接受飞象网专访
凭技术实力突出重围

众所周知,在移动互联网的影响下,用户的沟通方式从话音、短信开始转向基于互联网形式的即时通讯、实时音视频等交互方式,为了满足市场的诉求,国内同一时期出现了一大批 IM 即时通讯云服务商,融云就是其中一家。

和其他厂商不同,融云在成立之初就给自身设立了非常明确的定位,以互联网客户为主,为其提供互联网通信技术服务。在董晗看来,互联网通信云肯定是未来的发展趋势,基于此融云在做 IM 架构时,核心是本着互联网的移动端做正向开发。

从跟董晗的交流中,我们发现,真正使融云能够在国内众多的通信云厂商中迅速突起,主要还是得益于优秀的团队基因以及超强的技术实力。

董晗提到:“我们的核心技术骨干主要来自飞信和三星中国研究院,这让融云在 IM 领域拥有天然的核心技术实力,可以将高质量的即时通讯能力封装成 SDK 提供给广大的开发者和企业,帮助客户快速实现单群聊、聊天室等功能,获取语音、文字、视频、图片等沟通能力。”

不仅如此,在长期不断的技术积累和打磨下,融云的产品在安全性和可靠性方面都表现得非常优异。“融云是业内唯一承诺消息可靠性 100% 的厂商,率先承诺在海量用户并发的情况下消息不丢、不重、不乱序,亿级并发也可以即时到达。”董晗非常自信的对记者讲到。

此后,为了满足音视频服务的市场需求,融云在 2018 年对实时音视频领域进行了全面布局,基于之前的经验,融云在做音视频时跟 IM 一样,都是优先奠定技术层面的优势。目前融云在实时音视频的各项技术指标保持着市场领先水平,如音频可对抗 50% 丢包、视频可对抗 30% 丢包、音视频延时最低可达 66ms 等等。

突出的市场表现使得融云这家公司的通信云技术能力在业界口碑相传,成为了该领域的头号玩家。截至目前,融云已为超过 30 万款 App 提供了通信云服务,日均消息量达 150 亿条,日活已达 7000 万,日消息峰值超 2218 亿条,SDK 触达用户量突破 40 亿,也就是说,平均在每位中国网民的智能手机中至少有 5 款 App 通过融云 SDK 来实现沟通能力。

押码云服务

服务的客户越多越容易发现行业的一些痛点,对此,董晗深有体会。她对记者坦言,曾经融云只是单纯为客户提供 PaaS 底层能力,客户在集成 SDK 时会出现各种各样的问题,为了更好的帮助客户,融云把大量的调动逻辑写在文档里以及录视频等方式放到官网上,这些方式解决了大多数常见的客户问题,但对于一些高并发以及差异化场景的特殊需求,往往需要客户根据实际环境进行集成,如果经验不足的话,很可能会出现错误使用,导致产品不能上线。

“为了缩短客户的研发周期,帮助客户节省成本,融云决定推出服务包,服务包的内容各有侧重,用户可以根据自身产品的开发需求及使用场景,按需选择、自由组合。”董晗表示。


融云五大服务体系
此外,董晗指出:之前,大量的 PaaS 厂商把 PaaS 当作 SaaS 来卖,这种思路并不完全正确。融云认为 PaaS 的服务应更趋向于 IaaS 层的服务支持,在产品全生命周期中需要与客户的研发人员有大量的交互性、主动性的服务;而产品层应更趋向于 SaaS 的交付,能够替客户解决自研的大量工作,使客户调用起来更方便,大大缩短客户的研发周期。

目前,融云是通信云领域第一家专门针对客户服务痛点推出云服务包的企业。除了持续打磨核心技术优势,此次融云押码云服务也获得业界普遍认可,这可以称得上是“里程碑”式的举动,对于整个互联网云通信行业有着划时代的意义:此举不仅理顺了 PaaS 产品和服务的关系,也解决了用户对 PaaS 服务的实际刚需,未来,服务包也许会成为通信云厂商的服务标配。不得不说,融云是真的懂行业、懂客户。

服务向上 盈利向下

尽管云服务包的好处非常明显,但对于客户而言,增加了云服务之后会不会增加成本负担是客户特别关注的点。对此,董晗也明确回答:“融云在推出云服务的出发点上就没有直接与商业利益挂钩,我们不期待云服务能给我们贡献利润,对此客户不需要有过多的担忧。”

她进一步讲道:“我们在制定服务包的时候就有一个准则,如果某些服务是大量客户都会用到的标准服务,那一定是完全免费的。服务包功能更多是针对一些特殊的调用及使用场景,费用也只是研发人员的硬成本。”

可见融云押码云服务并非冲着钱来,而是有着更高阶的视角。从融云企业本身而言,其自身将完成从云产品迭代至云服务的重要升级,满足了对于客户的服务需求。从行业角度而言,云服务包的推出强化了整个 PaaS 厂商跟客户自身研发人员之间的联系。

虽然融云的服务包推出仅有三个月的时间,但截至目前已经有包括斗米、百姓网、火聊、悠趣直播等数十家客户购买了不同类型的云服务,并且从客户反馈来看,满意度非常高。

因此,董晗对于云服务的发展前景非常看好,在她看来,让客户用的舒服是企业重要的核心竞争力,云服务是整个 PaaS 领域里的一个未来走向。同时,董晗强调,千万不能把云服务做成口号,如果企业在推出一些服务体系时,无法调用一线的技术资源来辅助服务体系的构建,那对于客户使用产品是完全没有帮助的。

小结:

走在被踩烂了的成功之路上,只能是个跟随者,想要做引领者就要走别人没走过的路。作为互联网通信云领域的头部企业,融云更加明白这个道理,一直以来,融云基于对通信云领域的深刻理解以及客户的本质需求,不断衍生出了很多真正解决用户痛点的产品和方案。

当下,在其他通信云服务商都还在通过产品基础支撑拓宽市场的时候,融云已经开始强调服务品牌化,通过技术实力+品牌服务满足客户需求。相信在不远的将来,融云云服务势必将引发“鲶鱼效应”,进一步推动互联网通信云行业的变革和发展,引领整个 PaaS 行业服务能力的全面升级,构建 PaaS 服务新生态。

LiveVideoStackCon 深圳站:融云解析 WebRTC 低延迟直播技术

科技前线融云那些事 发表了文章 • 0 个评论 • 98 次浏览 • 2020-06-16 18:36 • 来自相关话题

“基于 WebRTC 的低延迟直播将会是未来直播行业的主流解决方案!”这是融云联合创始人兼CTO 杨攀在 8 月 LiveVideoStackCon 2019 音视频技术大会北京站上对于未来行业趋势的判断。仅仅 4 个月之后,当大会首次落户有“中国硅谷”之称的... ...查看全部

“基于 WebRTC 的低延迟直播将会是未来直播行业的主流解决方案!”这是融云联合创始人兼CTO 杨攀在 8 月 LiveVideoStackCon 2019 音视频技术大会北京站上对于未来行业趋势的判断。仅仅 4 个月之后,当大会首次落户有“中国硅谷”之称的深圳时,融云的另一位技术专家,首席架构师李淼就“基于 WebRTC 的低延迟直播方案”进行了深入的技术分享。

12 月 13-14 日,LiveVideoStackCon 音视频技术大会在深圳举办,大会聚焦音视频、图像、AI 等技术的最新探索与应用实践,覆盖社交、游戏、直播、智能设备等行业领域,面向开发者分享技术创新与最佳实践。本次大会,聚集了数十名海内外技术专家和上千名开发者围绕前沿技术发展进行探讨。


融云首席架构师李淼
随着我国 5G 正式走向商用,直播行业在获得更多发展机遇的同时,也对直播技术提出了新的挑战。传统直播解决方案如果无法解决技术层面导致的延时问题,那么这一弊病将在 5G 的高速网络环境下被无限放大,这也进一步促使了低延迟音视频直播技术方案的演化。对此,李淼结合 WebRTC 的低延迟特性,在现场展示了融云 WebRTC 直播场景的构建全过程及服务架构设计,并向开发者们分享了技术实践细节,希望通过新技术的应用来解决视频直播的延时问题。

为什么要选用 WebRTC 来做直播?李淼表示,相较于传统的直播解决方案,WebRTC 拥有着不可比拟的三大优势。首先是低延时,让直播用户可以享受低延时的观看体验。目前直播行业中绝大多数产品是基于 RTMP、HLS、HDL 方式构建的,即使在不考虑网络链路的情况下,也会产生秒级的延迟,而 WebRTC 则天生具备低延迟的优势,使用 WebRTC 直播可有效将延迟降低至 200ms 以下。

其次是流量消耗小。基于 UDP 传输的 WebRTC 相比基于 TCP 传输的 RTMP 等协议,由于 UDP 协议内容较 TCP 小,且数据包是基于 NACK 进行传输等特点,对于流量的使用也有明显的降低。对于开发者和直播企业而言,流量消耗大幅削减,成本也因此可以得到有效的控制。

而最重要的优势在于 WebRTC 技术方案可以使主播端与观众端保持一致。当主播端使用 WebRTC 进行推流时,主播端与观众端保持一致,可以减少开发的编码量,对于团队人员的占用和后期对于代码的维护,都能保证最低的资源消耗。

在 LiveVideoStackCon 现场,李淼向开发者讲解了如何通过 WebRTC 完成直播场景构建的全过程,并对于 WebRTC 直播的技术细节一一进行了详细解读。李淼表示,使用 WebRTC 直播方案,MCU 服务器的设计至关重要。一方面 MCU 可以按需进行编解码,另一方面需要以房间号进行聚合,记录每台MCU的状态并按最小资源分配新房间,通过这种设计来减少 WebRTC 直播方案的资源消耗。


WebRTC 直播发布订阅流程
当然,对于很多开发者而言,实际的生产环境中仍面临着如何做到秒开视频、降低 MCU 带宽压力以及避免流量风暴等难题,李淼从 GOP 缓存结构和 GOP 控制策略两个层面进行了分析。以解决首帧卡顿延迟为例,直播数据在客户端与 Media Sever 进行交互之后,通常会对 SPS 和 I 帧进行正常下发,但是在随后的 P 帧或 B 帧的下发阶段,融云会采用 1.2 倍速下发的方式进行,直至所有数据包与 MCU 端推包进程同步,这就将直播延迟降至了最低。

此外,李淼还指出,客户端的设计必须考虑就近接入,且支持多链路选择,数据中心间同源音视频只有一路级联;同时还可以利用 IaaS 层的能力,进行中心间级联链路的优化。遵循这些直播网络设计原则都可以有效地降低直播延迟。

在分享的最后,李淼表示在 5G 时代,直播、短视频等内容传播形态将迎来新一轮技术升级,用户体验将成为行业洗牌的关键,此次将 WebRTC 低延迟直播的设计理念和技术要点与开发者和行业人士们一同分享,希望能够给业界带来一些启发和思考。作为互联网通信云行业的技术领导者,融云也将持续优化实时音视频技术和场景化解决方案,助力音视频直播行业在 5G 时代的创新发展。

WICC 2019:融云首次解密全球通信网底层基础架构

科技前线融云那些事 发表了文章 • 0 个评论 • 100 次浏览 • 2020-06-16 18:34 • 来自相关话题

日前,2019 全球互联网通信云大会(WICC)在上海圆满落幕。作为大会主办方的融云,面对场内外数万开发者,首次对其自建的全球通信网(SD-CAN)的架构进行解密,分享了架构设计背后的故事和演进历程。在连续多年稳居国内即时通讯领域市场占有率第一之时,融云已然将... ...查看全部

日前,2019 全球互联网通信云大会(WICC)在上海圆满落幕。作为大会主办方的融云,面对场内外数万开发者,首次对其自建的全球通信网(SD-CAN)的架构进行解密,分享了架构设计背后的故事和演进历程。

在连续多年稳居国内即时通讯领域市场占有率第一之时,融云已然将目光放在了更广阔的全球市场之上。自 2016 年起,融云跟随中国出海企业进行海外布局,为他们提供安全、可靠的全球通信云服务能力。时至今日,在全球化布局上,融云拥有 3 个数据中心,3000 多个动态加速节点,并自研最优链路调度算法,可以有效解决跨国、跨运营商、大规模用户访问导致的响应慢、丢包高、服务不稳定等诸多痛点。


融云首席架构师李淼演讲
突破代码所无法解决的难题,跨过技术调研与选型瓶颈

融云首席架构师李淼认为:“代码可以解决的问题都不是问题,代码解决不了的问题才是最难的问题”。在李淼眼中,什么是代码解决不了的难题?那就是搭建全球互联的通信云底层基础架构。

早期,融云通过提供 SDK,让开发者更易集成融云的通信云能力到自己的 App 应用中,这是融云将通信云技术普惠给广大开发者的初衷。融云凭借安全、可靠的互联网通信云技术能力,服务的中国企业越来越多,并且随着中国出海企业逐渐布局到了海外市场,为了进一步助力中国企业出海,融云自建全球通信网络的想法应运而生。

融云讲了一个真实案例,曾经有落地韩国的旅游 App 客户向融云反映,自己的用户在韩国、泰国等地常常因连接不畅,导致体验不佳。后来融云在韩国、泰国部署了加速节点,对当地的链路进行加速,解决了这个问题,但由于终端客户分布的随机性很大,当用户漫游到除韩国、泰国以外的海外地区,甚至到北欧等地时,仍然面临连接问题。

解决客户的问题就是融云研发团队的使命,融云全球通信网的构建已经变得刻不容缓。可以说,是客户的海外布局需求让融云打开了建设全球通信网络的大门。

融云全球通信加速网络演变历程

融云对全球通信网络的平台能力定义是:用户能够就近接入、覆盖区域广泛、通信质量稳定、支持动态路径切换。2016 年,融云全球通信加速网络 v1 版本正式上线运行,基本满足了出海客户对于全球通信的需求,并显示出性能优越、资源消耗低、结构简单、运维方便等优势。同时,融云持续在寻找对应区域的服务商上,加大技术和人力的成本投入,进行资源配置的优化和整合。通过对两年的运营数据比对:在没有加速网络的情况下,融云对海外用户整体的连通率大概只有 78% 左右,通过加速网络,融云在全球的用户整体连通率可以达到 99.5% 以上,全球互联互通的成效初显。

但是,v1 版本的全球通信网络同时也面临着多中心重复建设、链路选择不智能、功能相对单一等问题。因此,2018 年融云决定放弃 v1 版本中的架构设计,重新搭建通信云全球互联的底层基础架构,进行 v2 版本迭代。

由于融云全球通信加速网络 v2 版本采用自研的边缘节点,承载了更多的业务数据的处理能力,显示出四大优势:第一,支持多中心接入。在设计时增加了新的路由节点,在整个网络里,可通过边缘节点向路由节点汇聚数据流量,数据可向任意一个数据中心导入;第二,多协议支持。自研的边缘节点,使 v2 版本不仅能支持 HTTP、HTTPS,还能支持 WebSocket、WebSocketS 以及实时音视频 RTC 的信令等更多协议;第三,管控方便。v2 版本可以精确地控制每个客户的流量转向和流量调度;第四,灵活调度。相比于 v1 版本只能通过下发配置的方式进行调度,在 v2 版本可通过管控节点的方式对流量周转进行控制。

优化之路境无止境

5G 正式商用后,融云 SD-CAN 全球通信网络除了承载人与人之间的通信,还将更多地承载人与物、物与物的通信。针对互联网通信请求高并发、小数据包的传输特点,为全球客户提供优质的网络加速服务,这是融云未来所要面临的挑战。

面对挑战,融云希望全球通信网络在边缘计算和去中心化的实时数据交换方面有所突破。首先,在边缘计算方面,由于融云目前很多协议、逻辑、控制都是通过类似模块的方式写成,如果要更新这些,需要重新部署服务来解决。尽管现在可以做到使用户无感、无损地更新迭代,但要降低运营成本,融云要在边缘节点上增加类似 FaaS(Function as a Service)的能力,并通过一些动态语言在边缘结点上实现脚本化的运维操作,通过管控节点下发这些计算能力。

其次,在去中心化的实时数据交换方面。虽然 RTC 本身就是去中心化的实时交换,但是现在的交换数据一般都是音视频,融云后续会建立双端 TCP 连接,通过去中心化的网络,实现两个用户之间的文件传递和数据交互。

结语

融云历经三年的潜心研发,最终构建起安全、可靠的全球互联网通信云网络。在全球通信网络的架构演进之路上,融云始终如一,抱定为客户带来至佳体验的宗旨,在专业化的道路上不懈探索。随着 5G 通信和物联网技术的全面覆盖,融云势必将通过 SD-CAN 全球通信网络为出海开发者和企业提供更为强劲的服务能力。

友情链接