月度归档:2015年05月

携程网App网络性能优化案例分析

在4月23日~25日举行的QCon全球软件开发大会(北京站)上,携程网无线开发总监陈浩然给大家分享了《移动开发网络性能优化实践》,总结携程网在App网络性能优化方面的一些实践案例经验。在2014年接手携程网无线App的框架和基础研发工作之后,陈浩然面对的首要工作就是App客户端性能优化,尤其是网络服务性能,这是所有App优化工作的重中之重。

首先介绍一下携程App的网络服务架构。由于携程业务众多,开发资源导致无法全部使用Native来实现业务逻辑,因此有相当一部分频道基于Hybrid实现。网络通讯属于基础&业务框架层中基础设施的一部分,为App提供统一的网络服务:

  • Native端的网络服务

Native模块是携程的核心业务模块(酒店、机票、火车票、攻略等),Native模块的网络服务主要通过TCP连接实现,而非常见的Restful HTTP API那种HTTP连接,只有少数轻量级服务使用HTTP接口作为补充。
    
TCP连接网络服务模块使用了长连接+短连接机制,即有一个长连接池保持一定数目长连接,用于减少每次服务额外的连接,服务完成后会将该连接Socket放回长连接池,继续保持连接状态(一段时间空闲后会被回收);短连接作为补充,每次服务完成后便会主动关闭连接。
    
TCP网络服务的Payload使用的是自定义的数据及序列化协议;HTTP服务的Payload比较简单,即常见的JSON数据格式。

  • Hybrid端的网络服务

Hybrid模块由于是在WebView中展示本地或者直连的H5页面,页面逻辑发起的网络服务都是通过系统WebView的HTTP请求实现的。少量业务场景(需要加密和支付等)以Hybrid桥接接口形式的Native TCP通道来完成网络服务。

下图是网络服务的部署架构图:

携程App所有网络服务,无论是TCP还是HTTP都会先连接到一个API
Gateway服务器。如果是TCP服务,会先连接上TCP Gateway,TCP
Gateway会负责将请求通过HTTP转发到后端的SOA服务接口。HTTP Gateway的原理与之类似。TCP Gateway和HTTP
Gateway的区别仅仅在客户端到服务端的连接方式不同而已。Gateway的作用除了业务请求还有流量控制和熔断。

要发现常见网络性能问题,先来看看一个网络服务做了哪些事情:

1.DNS Lookup

2.TCP Handshake

3.TLS Handshake

4.TCP/HTTP Request/Response

首先会是DNS解析,然后TCP连接握手,TLS连接握手(如果有的话),连接成功后再发送TCP或HTTP请求以及收
到响应。如果能够将这些过程逐一梳理并确保不会存在明显的性能问题,那么基本可以确保获得不错的网络性能。网络服务里有一个重要的性能标准,即
RTT(Round-Trip
Time),往返时延,它表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认)所间隔的时间。理想情况下可以假设
4G网络RTT为100ms,3G网络RTT为200ms,很容易就能计算出我们的App网络服务耗时的下限,当然还要加上服务器处理时间。

常见的网络性能问题有如下几种:

  • 问题一:DNS问题

DNS出问题的概率其实比大家感觉的要大,首先是DNS被劫持或者失效,2015年初业内比较知名的就有Apple内部
DNS问题导致App Store、iTunes
Connect账户无法登录;京东因为CDN域名付费问题导致服务停摆。携程在去年11月也遇到过DNS问题,主域名被国外服务商误列入黑名单,导致主站
和H5等所有站点无法访问,但是App客户端的Native服务都正常,原因后面介绍。

另一个常见问题就是DNS解析慢或者失败,例如国内中国运营商网络的DNS就很慢,一次DNS查询的耗时甚至都能赶上一次连接的耗时,尤其2G网络情况下,DNS解析失败是很常见的。因此如果直接使用DNS,对于首次网络服务请求耗时和整体服务成功率都有非常大的影响。

  • 问题二:TCP连接问题

DNS成功后拿到IP,便可以发起TCP连接。HTTP协议的网络层也是TCP连接,因此TCP连接的成功和耗时也成为
网络性能的一个因素。我们发现常见的问题有TCP端口被封(例如上海长宽对非HTTP常见端口80、8080、443的封锁),以及TCP连接超时时长问
题。端口被封,直接导致无法连接;连接超时时长过短,在低速网络上可能总是无法连接成果;连接超时过长,又有可能导致用户长时间等待,用户体验差。很多时
候尽快失败重新发起一次连接会很快,这也是移动网络带宽不稳定情况下的一个常见情况。

  • 问题三:Write/Read问题

DNS
Lookup和TCP连接成功后,就会开始发送Request,服务端处理后返回Response,如果是HTTP连接,业内大部分App是使用第三方
SDK或者系统提供的API来实现,那么只能设置些缓存策略和超时时间。iOS上的NSURLConnection超时时间在不同版本上还有不同的定义,
很多时候需要自己设置Timer来实现;如果是直接使用TCP连接实现网络服务,就要自己对读写超时时间负责,与网络连接超时时长参数类似,太小了在低速
网络很容易读写失败,太大了又可能影响用户体验,因此需要非常小心地处理。

我们还遇到另一类问题,某些酒店Wi-Fi对使用非80、8080和443等常见HTTP端口的服务进行了限制,即使发送Request是正常的,服务端能够正常收到,但是Response却被酒店网络proxy或防火墙拦截,客户端最终会等待读取超时。

移动网络和传统网络另一个很大的区别是Connection
Migration问题。定义一个Socket连接是四元组(客户端IP,客户端Port,服务端IP,服务端Port),当用户的网络在WIFI/4G
/3G/2G类型中切换时,其客户端IP会发生变化,如果此时正在进行网络服务通讯,那么Socket连接自身已经失效,最终也会导致网络服务失败。

  • 问题四:传输Payload过大

传的多就传的慢,如果没做过特别优化,传输Payload可能会比实际所需要的大很多,那么对于整体网络服务耗时影响非常大。

  • 问题五:复杂的国内外网络情况

国内运营商互联和海外访问国内带宽低传输慢的问题也令人难非常头疼。

看下携程App用户的网络类型分布:

 

Wi-Fi用户占比已超过60%,4G用户量正接近3G用户量,2G用户在逐步减少,用户的网络越来越好。4G/3G/2G网络的带宽和延迟差别很大,而带宽和延迟是网络性能的重要指标:

 

针对携程App用户的网络带宽和延迟,我们采样了海内外各8个城市的数据:

 

 

注意网络带宽和延迟并没有直接相关性,带宽高不意味着延迟低,延迟再低也不可能快过光速。从上图我们可以看到海内外带宽相差很大,但是延迟基本一致。

针对上面这些问题,在网络复杂环境和国内运营商互通状况无能为力的情况下,就针对性地逐一优化,以期达到目标:连得上、连得快、传输时间短。

  • 优化实践一:优化DNS解析和缓存

由于我们的App网络服务主要基于TCP连接,为了将DNS时间降至最低,我们内置了Server
IP列表,该列表可以在App启动服务中下发更新。App启动后的首次网络服务会从Server
IP列表中取一个IP地址进行TCP连接,同时DNS解析会并行进行,DNS成功后,会返回最适合用户网络的Server IP,那么这个Server
IP会被加入到Server IP列表中被优先使用。

Server IP列表是有权重机制的,DNS解析返回的IP很明显具有最高的权重,每次从Server
IP列表中取IP会取权重最高的IP。列表中IP权重也是动态更新的,根据连接或者服务的成功失败来动态调整,这样即使DNS解析失败,用户在使用一段时
间后也会选取到适合的Server IP。

  • 优化实践二:网络质量检测(根据网络质量来改变策略)

针对网络连接和读写操作的超时时间,我们提出了网络质量检测机制。目前做到的是根据用户是在2G/3G/4G/Wi-Fi的网络环境来设置不同的超时参数,以及网络服务的并发数量。2G/3G/4G网络环境对并发TCP连接的数量是有限制的(2G网络下运营商经常只能允许单个Host一个TCP连接),因此网络服务重要参数能够根据网络质量状况来动态设定对性能和体验都非常重要。 

不过目前携程App网络00质量检测的粒度还比较粗,我们正在做的优化就是能够测算到用户当前的网络RTT,根据RTT
值来设置参数,那会更加准确。Facebook App的做法是HTTP网络服务在HTTP
Response的Header中下发了预估的RTT值,客户端根据这个RTT值便能够设计不同的产品和服务策略。

  • 优化实践三:提供网络服务优先级和依赖机制

由于网络对并发TCP连接的限制,就需要能够控制不必要的网络服务数量,因此我们在通讯模块中加入了网络服务优先级和依
赖机制。发送一个网络服务,可以设置它的优先级,高优先级的服务优先使用长连接,
低优先级的就是用短连接。长连接由于是从长连接池中取到的TCP连接,因此节省了TCP连接时间。

网络服务依赖机制是指可以设置数个服务的依赖关系,即主从服务。假设一个App页面要发多个服务,主服务成功的情况下,才去发子服务,如果主服务失败了,自服务就无需再关心成功或者失败,会直接被取消。如果主服务成功了,那么子服务就会自动触发。

  • 优化实践四:提供网络服务重发机制

移动网络不稳定,如果一次网络服务失败,就立刻反馈给用户你失败了,体验并不友好。我们提供了网络服务重发机制,即当网
络服务在连接失败、写Request失败、读Response失败时自动重发服务;长连接失败时就用短连接来做重发补偿,短连接服务失败时当然还是用短连
接来补偿。这种机制增加了用户体验到的服务成功概率。

当然不是所有网络服务都可以重发,例如当下订单服务在读取Response失败时,就不能重发,因为下单请求可能已经到达服务器,此时重发服务可能会造成重复订单,所以我们添加了重发服务开关,业务段可以自行控制是否需要。

  • 优化实践五:减少数据传输量

我们优化了TCP服务Payload数据的格式和序列化/反序列化算法,从自定义格式转换到了Protocol
Buffer数据格式,效果非常明显。序列化/反序列算法也做了调整,如果大家使用JSON数据格式,选用一个高效的反序列化算法,针对真实业务数据进行
测试,收益明显。

图片格式优化在业界已有成熟的方案,例如Facebook使用的WebP图片格式,已经被国内众多App使用。

  • 优化实践六:优化海外网络性能

海外网络性能的优化手段主要是通过花钱,例如CDN加速,提高带宽,实现动静资源分离,对于App中的Hybrid模块优化效果非常明显。

经过上面的优化手段,携程App的网络性能从优化之初的V5.9版本到现在V6.4版本,服务成功率已经有了大幅提升,
核心服务成功率都在99%以上。注意这是客户端采集的服务成功率,即用户感知到的网络服务成功率,失败量中包含了客户端无网络和服务端的错误。网络服务平
均耗时下降了150-200ms。我们的目标是除2G网络外,核心业务的网络服务成功率都能够达到三个九。

数据格式优化的效果尤其明显,采用新的Protocol Buffer数据格式+Gzip压缩后的Payload大小降低了15%-45%。数据序列化耗时下降了80%-90%。

经历了这半年的网络性能优化,体会最深的就是Logging基础设施的重要性。如果我们没有完整端到端监控和统计的能
力,性能优化只能是盲人摸象。Logging基础设施需要包括客户端埋点采集、服务端T+0处理、后期分析、Portal展示、自动告警等多种功能,这也
不是单纯的客户端框架团队可以完成的,而需要公司多个部门合作完成。

携程基于Elastic Search开发了网络实时监控Portal,能够实时监控所有的网络服务,包括多种维度,可以跟踪到单个目标用户的所有网络请求信息。
用户的性能数据都被喷到Haddop和Hive大数据平台,我们可以轻松制定并分析网络性能KPI,例如服务成功率、服务耗时、连接成功率和连接耗时等,
我们做到了在时间、网络类型、城市、长短连接、服务号等多纬度的分析。下图是我们的网络性能KPI
Portal,可以查看任一服务的成功率,服务耗时、操作系统、版本等各种信息,对于某个服务的性能分析非常有用。

最后看看业界网络性能优化的新技术方向,目前最有潜力的是Google推出的SPDY和QUIC协议。

SPDY
成为HTTP/2.0
Draft,有希望成为未来HTTP协议的新标准。HTTP/2.0提供了很多诱人的特性(多路复用、请求优先级、支持服务端推送、压缩HTTP
Header、强制SSL传输、对服务端程序透明等)。国内很多App包括美团、淘宝、支付宝都已经在尝试使用SPDY协议,Twitter的性能测试表
明可以降低30%的网络延迟,携程也做了性能测试,由于和TCP性能差距不明显,暂未在生产上使用。

QUIC
基于UDP实现的新网络协议,由于TCP协议实现已经内置在操作系统和路由器内核中,Google无法直接改进TCP,因此基于无连接的UDP协议来设计
全新协议可以获得很多好处。首先能够大幅减少连接时间,QUIC可以在发送数据前只需要0 RTT时间,而传统TCP/TLS连接至少需要1-3
RTT时间才能完成连接(即使采用Fast-Open TCP或TLS Snapshot);其次可以解决TCP Head-of-Line
Blocking问题,通常前一个TCP
Packet发送成功前会拥塞后面的Packet发送,而QUIC可以避免这样的问题;QUIC也有更好的移动网络环境下拥塞控制算法;新的连接方式也大
幅减少了Connectiont Migration问题的影响。

随着这些新协议的逐渐成熟,相信未来能够进一步提高移动端的网络服务性能,值得大家保持关注。

德国、英国、法国、比利时、澳大利亚、韩国、美国等海外著名电商

德国、英国、法国、比利时、澳大利亚、韩国、美国等海外著名电商,其中部分境外电商已经支持中文,支付也支持支付宝及银联支付,中国市场太大了!

好多海外电商,TLC Pharmacy中文站、BFSO日用百货商城、Bodyguard Apotheke中文站、PharmacyOnline中文站、美迪惠尔中文官网、Hollandboutique中文站、1001pharmacies中文站、WNC保健品专营店中文站、Melissa & Doug玩具店、Farmaline在线药房、百年香氛蜡烛世家、UKA优卡有机生活馆、EM居家百货、HCP品质生活馆

国家 商户简称 商户名称 境外海淘商家介绍 是否中文 支付
英国 TLC TLC Pharmacy中文站 TLC
Pharmacy Group由药剂师James Semple和Brendan
Semple联合创立,是苏格兰最具规模的药店连锁集团.旗下拥有多家隶属于英国国家医疗服务系统NHS的专业连锁药店,也是苏格兰最大的医学美容产品供应商。
支持中文 支付宝
银联
德国 BA Bodyguard
Apotheke中文站
Bodyguard
Apotheke 是德国连锁药房Einhorn Apotheke 的线上药房,德国国家认证,是德国最大的连锁药房之一.Einhorn Apotheke
由Kraus家族创办经营,已有百年历史。
支持中文 支付宝
银联
澳洲 PO PharmacyOnline中文站 Pharmacy
Online是一家家喻户晓的澳洲最大的药品保健品和营养品电商之一,总部位于澳大利亚新南威尔士洲,,客户 遍布世界各地四十多个国家。
支持中文 支付宝
银联
韩国 Mediheal 美迪惠尔中文官网 L&P
Cosmetic的面膜和护肤产品是由众多专业皮肤科医生共同研制创新,能够适合不同肌肤所需.L&P
Cosmetic推崇家用美学概念,足不出户,即能为大家缔造梦中的美肌。
支持中文 支付宝
银联
荷兰 HB Hollandboutique中文站 Holland
Boutique是荷兰最专业的母婴精品在线生活商城.有着最专业的团队对荷兰本土品牌进行实地调研、严格审查,并建立与品牌供应商的紧密合作,精心从中挑选最优质的母婴生活精品。
支持中文 支付宝
银联
法国 1001 1001pharmacies中文站 法国1001pharmacies倡导简单自然的生活理念,宗旨是向大家提供来自法国和欧洲的绿色环保的药妆,美容,生活,保健类的品牌和产品.让越来越多的消费者,享受高质量的产品和先进的电子商务技术所带来的美好的生活。 支持中文 支付宝
银联
美国 WNC WNC保健品专营店中文站 历史悠久的国家权威营养品药店
Willner
Chemists成立于1911年,从一个老式的社区药店转变成为美国权威的国家级营养保健品专营店.早在1970年,Willner自主研发了一系列营养补充剂,并且迅速成为广大内科医师指定维生素补充剂,销售广泛。
支持中文 支付宝
银联
美国 Melissa
& Doug
Melissa & Doug玩具店 美国品质玩具店
Melissa &
Doug是畅销欧美25年全世界最大的木制玩具公司,美国第一木制玩具品牌.纽约玩具帝国“FOA施瓦兹”、梅西连锁百货(MACY’S)、英国“哈洛德百货”(Harrods)等公司均有专柜展示!
不支持中文
比利时 FL Farmaline在线药房 比利时规模最大的电商
Farmaline在线药房由比利时注册药剂师Leen
Ponet博士创建,获得比利时药品和保健品监督局承认,是比利时规模最大的电商.其实体药房成立至今已超过50年的历史,专注于提供优良的产品和服务。
不支持中文
英国 SC百年香薰蜡烛世家 百年香氛蜡烛世家 Shearer
Candles由Shearer先生和Harvey先生创立于1897年,是英国历史最为悠久的蜡烛厂商,如今是全球蜡烛制造业内的时尚设计引领者.
不支持中文
英国 BFSO BFSO日用百货商城 BFSO是Manoj
Raja先生及其合伙人在英国Stafford创建的在线日用百货商店,有超过30年的零售及服务经验,是最受英国侨民欢迎的电商之一,同时是驻海外英国军队的供应商之一。
支持中文 支付宝
银联
德国 UKA UKA优卡有机生活馆 1990年东西德统一后,前东德区首次被批准创办私人企业.药剂师Wolf
Dietrich Spiegel即在格雷芬海尼兴创办了第一家药房.2004年德国首次授权网上药房销售资格,2005年即开通网上药房。
不支持中文
德国 EM EM居家百货 德国Top3的网上居家商城,Erwin
Müller是一家具有60余年历史的德国公司,力求以最优的产品价格与质量,为万千家庭缔造温馨和谐的家庭氛围.旗下拥有Baby Butt,Kinder
Butt等在欧洲极具知名度的子品牌。
不支持中文
德国 HCP HCP品质生活馆 HCP由Wulf
Dieter
Freude于1997年在德国汉诺威创立,拥有三家实体药店和一家位于法兰克福南部的保健品批发中心,不仅有自有品牌Nutrimexx运动营养食品,还在德国有多个独家品牌代理。
不支持中文

Google 发布Cloud BigTable兼容HBase接口,性能秒杀其它NoSQL

问题导读

1.Google Cloud BigTable使用场景有哪些?
2.Cloud Bigtable是否支持SQL查询、连接和多行事务?
3.Cloud BigTable性能比HBase和Cassandra高出上百倍,你是怎么认为的?

Google今天(2015年5月6日)美国时间凌晨发布了云数据库Google Cloud BigTable,基于Google几乎所有最大应用使用已超过十年的王牌技术BigTable(这一点说明了Google后续开发的Megastore和Spanner并没有大幅取代BigTable,而是互补使用的),支持BigQuery和Hadoop(2.4以上版本),但又可以通过业界标准的HBase API(支持1.0)里访问(但仍然有一些差异,细节请参考文档)。
Cloud BigTable最令人瞩目的是其性能,官方博客用了unmatched(无双、无与伦比)这样高调的字眼。它的读写延迟都是毫秒级的,与HBase和Cassandra读延迟好几百相比的确是秒杀,写延迟比Cassandra也好一倍以上。

对这个测试有疑问的同学,HN上的相关讨论可以参考。
相比之下,BigTable的价格似乎并不太具有优势。每小时每结点的价格是0.65美元,每集群最低要3个结点,这样每个月最低也要0.65 x 3 x 24 x 30 = 1404美元,这还没算网络和存储成本。而AWS的DynamoDB每月最低是5美元。当然,客观说,DynamoDB直接的对应的是Google的另一项云服务DataStore(起始使用免费)。
Google Cloud BigTable野心不小,它明确说针对的应用场景包括金融(交易历史、股价、汇率)、广告营销(购买历史和用户行为)、能源/物联网(电表和家电数据)、生物医药和电信等行业的大数据分析,包括时间序列数据。标杆案例也是金融软件巨头SunGuard的一个审计原型系统,每秒能处理250万条交易信息。
其他案例还包括:
Pythian将时间序列数据库OpenTSDB与Cloud Bigtable集成,开发了一个监控平台;
开源空间数控GeoMesa的贡献者CCRi通过与Cloud Bigtable集成,提供了实时空间分析平台;
IoT方案商Telit Wireless Solutions借助Cloud Bigtable大大提升了数据处理能力;
Qubit(也是由前Google员工创办的公司)已经将数P数据迁移到Cloud BigTable上。

根据文档,它的适合场景是:
单索引的、稀疏表,可以扩展到数亿行、数千列,存储T级甚至P级数据量。低于1TB就不要考虑了。
非常适合存储低延迟的海量单键数据。
是MapReduce运算的理想数据源。
Cloud Bigtable不是关系数据库,也不支持SQL查询、连接和多行事务。与Google云服务上其他存储方案的选型文档说得很清楚,翻译如下:
如果需要OLTP系统的完整SQL支持,考虑Google Cloud SQL。
如果需要OLAP系统的交互查询,考虑Google BigQuery。
如果需要存储大于10MB的不变blob,例如大的图片和视频,考虑Google Cloud Storage。
如果需要存储高度结构化对象,或者要支持ACID事务和类SQL查询,考虑Cloud Datastore。

参考链接
Google Cloud BigTable的文档:https://cloud.google.com/bigtable/docs/
Google官方已经在StackOverflow上开了标签:http://stackoverflow.com/tags/google-cloud-bigtable/
Hacker News上的讨论:https://news.ycombinator.com/item?id=9497060
官方开源客户端:https://github.com/GoogleCloudPlatform/cloud-bigtable-client

 

【天敏讲坛】关于DNS服务器影响网络在线播放的流畅性问题解决方案

导读

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

现在 DNS一般有路由器的设置完成,在智能网络机顶盒通过DHCP拿到 IP地址后,DNS地址就就自动分配下来了。

路由器的厂家很多,在DNS的处理上也是各有不通过,具体这里无法一一说清楚,这里小编指出,如果你遇到以下问题,可以排查一下你的智能网络机顶盒是否拿到了正确的DNS地址。

1情况1

进入直播电视,切换频道很慢,(正常情况,电视盒子的电视直播很多台,切换1s左右)长达5、6秒,甚至更长,但是最后能够播放,一旦播放了,又很流畅。多数频道存在 这个问题的时候,可能就是路由器分配的DNS地址不对。

原因解析:每次切换频道的时候,比如是sohu的播放源,glsb.tv.sohu.com/****xx, 切台开始的时候,需要将域名解析成 IP,DNS服务器的好与坏,这个解析时间可长可短。

2情况2

进入首页后,某个站点的电影海报页面,翻页的时候图片下载很慢,10个图片需要很久才出来,但是播放开始后,无论是高清、超清都很流畅。

原因分析:可能也是DNS地址解析 过慢导致。

3情况3

部分站点播放卡顿, 但是 部分站点的 超清、高清都很流畅,这个问题情况很复杂,不能断定说是DNS的问题。

这里可能和DNS有关系的话,是因为很多站点的视频播放都采用了负载均衡技术和就近选取服务器的策略,那么有一部分站点,他就是依赖各地 的DNS来决定,用哪个服务器去响应你的点播请求。所以你用的DNS不是当地电信或联通的DNS的话,可能出现的情况。

a)明明你是电信的网络,结果响应你的是联通的服务器;

b)明明你在广东,结果响应你的,可能不是离你最近的服务器,可能跑到北方,或者某个角落的服务器

全能解决办法:检查路由器分配的DNS是否可以用,可以更换114.114.114.114、223.6.6.6、8.8.8.8等opendns

云分发平台高效助力,宝德CDN跨入云时代

 

互联网和移动互联网飞速发展,催生了一个又一个重量级互联网企业和众多移动互联网应用,其延伸出的多样化应用、不同终端、跨网访问、复杂的网络环境以及用户对网络品质期望的提升,无一不对CDN服务提出了更高的要求。面对CDN市场又一波发展契机,如何实现规模化经营,在瞬息万变的互联网时代通过快速交付的服务体系助力客户快速分发,是CDN行业发展面临的巨大挑战。

2014年底,宝德科技集团整合旗下云、CDN子公司为云事业中心,开启云分发平台的研发。宝德CDN基于宝德云高效云计算技术,以CDN为基础核心,整合成高效云分发平台。宝德云分发平台的核心功能有:系统分布式化、业务存储分离、节点资源池化、内容智能感知等,稳定性、可用性和响应时延大大提升,很大程度上优化了整体运营管理效率,提升交付能力。

宝德云分发平台服务于宝德CDN的静态加速、动态加速、文件下载、视频流媒体、移动互联网等核心业务,能够降低客户资源成本、提升用户体验。更灵活的缓存模式及更快速的应变能力意味着各项性能指标得以全面提升。

缓存集群化,节约客户成本

宝德云分发平台具有缓存集群化的特性,采用分级缓存的个性化服务。实现了所有资源频道共享,保证设备流量的均衡,提高访问命中比,降低回源率,大量地节约客户成本。

高可用高性能,容错超强故障

宝德云分发平台具有高可用及高性能服务,其全面的时延能力及强大的故障容错能力,在客户流量大量突发的特殊情况下,能够从容快速地做出应对,将设备宕机等操作对用户造成的负面影响降到最低。同时,它还能对用户访问热点进行实时跟踪分析,建立内存数据库,更好地分析客户网络需求,为客户更多样的个性化服务提供技术保障支持,实现高质量服务。

全面优化部署,实现高效管理

宝德云分发平台将原有零散化节点通过资源整合,实现大节点化布局,从而有效提升大节点输入输出能力,缓解小节点拥堵造成的网络传输压力;同时,将内部资源集中整合,实现自动化平台运营管理,有效提升各环节输出效率。通过全面的优化部署和资源配置,大幅提升交付能力和服务响应速度。

借助宝德云分发平台,宝德CDN服务能力得以更新提升。与传统的技术相比,宝德云分发以更灵活的缓存模式,更快速的应变能力,提供更稳定、更高效的网络运营服务,为企业在云领域的战略展开布下了基础。技术的革新意味着老牌CDN服务商对云时代的积极响应,也是CDN服务得以不断前进的节点。

UCloud CDN火爆促销 最高降幅达83.5%,全球37个数据节点提供内容分发加速方案

UCloud CDN活动页面:http://www.ucloud.cn/act/index/ucdn_price?sem=cdn-weixin#rd

一重好礼:国际流量降价 最低达0.28元/GB


UCloud已通过自建及合作的形式,在全球37个数据节点提供内容分发加速方案。为更好满足国内互联网企业在海外的业务需求,UCloud决定将UCDN国际流量价格进行调整,降价后的国际流量最低达0.28元/GB。与国内流量一致的价格、服务和本地化优势,让在海外进行业务布局的国内厂商不再望“洋”兴叹。

QQ截图20150513203950.jpg

二重好礼:流量买一赠一 买满1G送1G


除国际流量价格调整外,即日起至2015年6月30日,凡购买UCDN的用户,更将享受“买一赠一”的特殊优惠。即购买1GB UCDN服务,即享受UCDN赠送的额外1GB流量,多买多送,上不封顶。



与降价前的国际流量价格相比较,活动期间折算降价幅度最高达到83.5%!

三重好礼:多种计费方式 API灵活切换


移动互联网业务具有突发性高、带宽需求不均衡等特点,使得此类客户对CDN服务的定制化和自由度要求很高。UCDN不仅支持带宽计费、流量计费两种不同的计费方式,更支持客户在两种计费方式间进行切换。通过UCloud控制台界面或者开放的API接口,客户甚至可以平时使用带宽计费,在业务高峰期使用流量计费,从而将成本降至最低。

QQ截图20150513204046.jpg

CDN行业将迎来三个显著的变化——价格击穿底价,计费更加透明;三大技术颠覆,重塑市场格局;服务心态转变,更注重用户体验。作为国内领先的云计算服务商,UCDN凭借业界领先的技术及世界范围内37个优质节点,为客户提供高度安全、快速响应、稳定灵活的CDN加速服务,将在业界再次引领潮流,并成为国内互联网企业出海远征的坚实助力。

柳叶刀神经病学痴呆七大危险因素

据美国《科学日报》近日报道,《柳叶刀神经病学》杂志刊登美国旧金山军人医疗中心一项新研究称,超过一半的老年痴呆症病例可以通过生活方式的改变以及慢性疾病的防治来加以防范。

迪波拉·巴恩斯博士领导的一项新研究分析了全球多项相关研究得出的数据,涉及参试者数万人。结果发现,就全球而言,诱发老年痴呆症的7大危险因素依次为:教育水平低、吸烟、缺乏运动、抑郁、中年高血压、糖尿病和中年肥胖等。第一大病因“教育水平低”是指没有接受过高等教育,智商低或不参加益智休闲活动等。该病因占全球老年痴呆症病例的19%,大约650万病例。“吸烟”和“缺乏运动”导致的老年痴呆症病例,分别占全球的14%和13%。

巴恩斯博士在老年痴呆症协会2011巴黎国际大会上表示,这7大风险因素导致的老年痴呆症病例占全球的51%(1720万病例)。这项新研究表明,增加运动量和戒烟之类的简单生活方式的改变,就可以大大降低老年痴呆症的发病率。如果这7种风险因素减少25%和10%,那么全球老年痴呆症病例将会分别减少300万和110万。美国旧金山军人医疗中心老年精神病学专家克里斯汀亚夫博士指出,未来40年,老年痴呆症病例将增加三倍。因此,采取有效措施预防老痴意义重大。老年痴呆症是多种因素综合的结果,预防要多管齐下,效果更好

柳叶刀神经病学研究发现银杏不能预防老年痴呆症

因《嘿老头》有说老年痴呆症服用,但是著名学术期刊《柳叶刀神经病学》,银杏并没有预防老年痴呆症的功效。天猫国际还在售卖《

美国进口银杏叶提取物片 银杏叶精华银杏磷脂胶囊 老年痴呆记忆力,悲哀。。。

一项发表在著名学术期刊《柳叶刀神经病学》的大型研究表明:银杏并没有预防老年痴呆症的功效。

这项研究包括近3000名有记忆问题的老人,老人们被分为两组,一组服用银杏提取物,一组则服用安慰剂。经过5年的研究,两组老人中患老年痴呆症比例几乎是一样的。
曾有一项历时6年的研究也表明,并没有任何证据显示银杏可以预防老年痴呆症或是有延缓精神症状(如记忆衰退或失忆等)功效。
银杏可以提高记忆?
银杏和银杏提取物一直被当做一种增强记忆药物被广泛使用和销售,老年痴呆症研究专家隆·施耐德(Lon Schneider)博士表示这是不对的。
已经有近10000人参加了与证明银杏有提高记忆或促进大脑活动的实验。“对这种物质的研究非常广泛,但却没有一个实验表明它有改善或延缓记忆减退的作用。银杏提取物绝不该做成药物。”施耐德博士说。
有没有银杏都一样患老年痴呆
新研究中的老人基本上都是70岁以上的老人,在实验未开始时就已经出现了记忆方面的问题。一半的老人一天两次服用银杏提取物;另一半老人则服用安慰剂。
经过5年的研究,银杏组的老人有4%的人患老年痴呆症,而未服的老人有5%,这两个结果并没有显著区别。
对银杏还需要更多的研究吗?
有科学家表示银杏对年龄相关的衰退是否有效还需要更多的实验来证明。
在一份书面声明中,法国的医生呼吁说:“老年痴呆症的患病率在2050年将上升4倍,这是一种亟需我们关注的疾病。”
但施耐德博士表示,研究人员会找到其他有效的治疗方法。“如果真的找不到其他可以延缓老年痴呆症的方法,我可以理解患者想要坚持使用银杏制品的心情。但我们现在对影响健康的各种行为都研究的越来越透彻,健康的生活方式是可以减少患病几率的。”

研究表明,锻炼身体,少吃脂肪,治疗高血压,高胆固醇和其他患心脏病的风险因素是可以预防年龄相关记忆衰退的。(本文编译自WebMD)

附上:其实没效果的

http://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.1.vnbUXZ&id=22344739068&areaId=441700&cat_id=2&rn=e2abdbd9cfac98fc002a83f93440f154&user_id=758724104&is_b=1

跨界的融合CDN

融合CDN是在传统CDN基础上实现了多业务的融合承载以及多种终端统一接入技术,提供STB、PC、移动设备等多种终端上各种业务的内容分发服务,从而可以满足海量用户的个性化需求。

从业务的发展趋势和技术演进来看,融合CDN将不再是传统狭义的CDN,而是广义的CDN,不仅所分发的内容、应用、业务、服务等的形态会大为扩展,而且组网模式、商业模式、价值链关系等也将会发生较大变化。

多业务融合的承载需求、多终端融合都要求融合CDN不再是单纯的内容分发网络,需要跨出原有的功能定位和界限,提供开放的、互联互通的、融合的全网服务能力,以适应业务的发展。融合CDN除了具备基础的内容分发和加速能力,还需要具备有效优化数据网络流量分布、降低数据网络流量瓶颈的能力,并根据业务和用户要求提供不同质量的服务。融合CDN不再是一张孤立的分发网络,需要和其他网元、网络互动,参与业务行为,感知内容变化,响应用户需求,将演进为智能分发、业务融合、多终端接入的内容管道,是智能管道业务的重要组成部分。

1、 大容量、高并发

高清内容和4K内容是目前主流的视频服务内容,它给用户带来更好的影像体验,也带动相关产业链的蓬勃发展。这也对CDN的存储、流媒体处理能力以及网络带宽提出了更高的性能要求。


SD

720P

1080P

4K@30fps

4K@120fps

H.264

1.5-2.0M

4-6M

6-8M

24-32M

做不到

H.265

0.7-1.5M

2-3M

3-4M

12-16M

40-50M

从上表中可以看到,高清内容和4K内容的码率较高,而且现在基本是VBR编码,考虑到冗余,一般要留有50%的冗余带宽。因此,CDN支持一路高清视频内容播放需要10Mbps的IO能力,支持一路4K内容播放需要25Mbps的IO能力。因此高质量的视频服务对CDN提出了更高的挑战和要求:

• H.265:要求CDN支持H.265。

• 大存储:4K影片普遍达到几十G的存储容量,是一般影片的几十倍,要求CDN能够支持4K影片这种超大文件的灵活调度,同时,也对CDN设备的存储容量提出了新的要求。

• 大并发:4K用户点播码率相当于几个标清用户,随着视频码率的增加,用户视频服务体验对网络时延和波动的也更为敏感,CDN应尽量就近为用户提供4K服务,4K内容应尽量调度到边缘服务节点;同时,也对CDN设备的并发流量提出了更高的要求。

2、 实时转码、自适应码率调整

虽然4G、5G的无线基站空口资源增长很多,但还是难以赶上业务的发展变化。随着接入用户的增加变化,每个用户分配的空口资源也会实时变化。同时,移动终端访问的带宽也会直接受到无线网络接入信号强度的影响。信号的不稳定性导致用户在收看视频时会出现视频卡顿、响应慢的问题。如图5所示,移动CDN采用码流自适应技术,动态检测用户空口资源的变化情况,及时调整发送内容的码率,从而充分保障用户观看视频的流畅性,提升用户体验。采用码流自适应技术,同一内容在移动CDN只需要保存一份码率文件,系统将根据不同带宽情况,实时转换码率格式,保障视频播放的连续性,从而降低对移动 CDN存储空间的要求和内容传输占用的带宽需求。

3、 网络内容格式感知

融合CDN根据对网络结构的感知,结合用户分布及相关的业务特点,按需推送内容到边缘节点,降低数据传输对网络的压力。对内容进行指纹识别,尽量避免重复内容存储,从而降低存储要求;对视频文件只需要保存一份,在应用时可根据需要进行格式封装和转码。这些都需要融合CDN能进一步感知内容,感知用户的行为,缓解数据流量快速猛增对网络带宽、建设投入的压力。

4、 CDN位置下沉到无线网络中

移动互联网业务的快速发展,让CDN延伸到无线网络的需求日益迫切。据统计,2014年首次出现了用户使用移动终端连接互联网时长比例超过通过电脑访问互联网时长,随着互联网用户的使用习惯逐渐向移动端迁移,良好的用户体验更成为直接影响用户选择应用以及页面时的重要衡量因素,用户在长时间缓冲、响应的过程中,根本问题并非是骨干传输网络的带宽限制,而在于手机与核心网的通信过程。未来的融合CDN不但要优化处理终端与服务器之间的服务体验,还需要考虑如何解决无线网络中数据业务传送瓶颈。随着移动互联网业务越来越普及,移动环境的流量也势必越来越多,这些将进一步转化成为对移动CDN的需求。

对于4G移动网络,可将内容尽量分发至最靠近用户的基站,通过提升用户体验将基站变成用户的价值创造引擎。可在移动网络基站侧与核心网之间部署小型化的基站融合的Mobile CDN来存储热点内容,下图给出了移动CDN的部署位置。移动CDN具备高密度数据处理能力和存储容量,保证热点内容分发和高等级用户的服务质量,提升用户的体验。

5、 灵活部署,快速服务

融合CDN业务能力主要包括视频服务、Web加速、应用加速、文件加速和各类增值服务。为适应业务的快速发展,融合CDN还需提供全方位的灵活部署与互通能力,实现资源集中云化和服务就近部署,并通过标准化的接口和业务流程,聚焦于内容引入、内容存储、内容分发等服务能力的提升。为顺应技术发展需求,融合CDN技术在发展的同时需重点关注与云技术以及移动网络技术的结合。支持将CDN能力灵活叠加于现有云资源,实现计算能力、存储能力和承载调度的资源平衡与灵活调整

Redis之父Disque新开源的分布式内存作业队列

Disque是Redis之父Salvatore Sanfilippo新开源的一个分布式内存消息代理。它适应于“Redis作为作业队列”的场景,但采用了一种专用、独立、可扩展且具有容错功能的设计,兼具Redis的简洁和高性能,并且用C语言实现为一个非阻塞网络服务器。有一点需要提请读者注意,在Disque项目文档及本文中,“消息(Message)”和“作业(Job)”可互换。

Disque是一个独立于Redis的新项目,但它重用了Redis网络源代码、节点消息总线、库和客户端协议的一大部分。由于Disque使用了与Redis相同的协议,所以可以直接使用Redis客户端连接Disque集群,只是需要注意,Disque的默认端口是7711,而不是6379。

作为消息代理,Disque充当了需要进行消息交换的进程之间的一个中间层,生产者向其中添加供消费者使用的消息。这种生产者-消费者队列模型非常常见,其主要不同体现在一些细节方面:

Disque是一个同步复制作业队列,在默认情况下,新增任务会复制到W个节点上,W-1个节点发生故障也不会影响消息的传递。
Disque支持至少一次和至多一次传递语义,前者是设计和实现重点,而后者可以通过将重试时间设为0来实现。每个消息的传递语义都是单独设置的,因此,在同一个消息队列中,语义不同的消息可以共存。

按照设计,Disque的至少一次传递是近似一次传递,它会尽力避免消息的多次传递。
Disque集群的所有节点都有同样的角色,也就是“多主节点(multi-master)”。生产者和消费者可以连接到不同的队列或节点,节点会根据负载和客户端请求自动交换消息。

Disque支持可选的异步命令。在这种模式下,生产者在向一个复制因子不为1的队列中添加一个作业后,可以不必等待复制完成就可以转而执行其它操作,节点会在后台完成复制。

在超过指定的消息重试时间后,Disque会自动将未收到响应的消息重新放入队列。
在Disque中,消费者使用显式应答来标识消息已经传递完成。

Disque只提供尽力而为排序。队列根据消息创建时间对消息进行排序,而创建时间是通过本地节点的时钟获取的。因此,在同一个节点上创建的消息通常是按创建顺序传递的,但Disque并不提供严格的FIFO语义保证。比如,在消息重新排队或者因为负载均衡而移至其它节点时,消息的传递顺序就无法保证了。所以,Salvatore指出,从技术上讲,Disque严格来说并不是一个队列,而更应该称为消息代理。

Disque通过四个参数提供了细粒度的作业控制,分别是复制因子(指定消息的副本数)、延迟时间(将消息放入队列前的最小等待时间)、重试时间(设置消息何时重新排队)、过期时间(设置何时删除消息)。

需要注意的是,Disque项目尚处于Alpha预览测试阶段,代码和算法未经充分测试,还不适合用于生产环境。在接下来的几个月里,其实现和API很可能会发生重大变化。此外,它还有如下限制:

其中还包含许多没有用到的Redis代码;
它并非源于Salvatore的项目需求,而是源于他看到人们将Redis用作队列,但他不是这方面的专家;
同Redis一样,它是单线程的,但鉴于它所操作的数据结构并不复杂,将来可以考虑改为多线程;
Disque进程中的作业数量受可用内存限制;
Disque没有进行性能优化。
总之,该项目尚处于研究测试阶段。感兴趣的读者可以查看该项目的GitHub页面,了解更多信息。