网站性能检测评分
注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。
任务迁移
印象笔记发布全新APP 新增4大中国用户专属功能 推广视频课程
DoNews8月3日消息(记者赵晋杰)印象笔记8月3日在北京举办了六周年庆祝活动,印象笔记CEO唐毅、宽带资本创始人兼董事长田溯宁、Evernote首席营销官AndrewMalcolm等嘉宾出席并发表演讲。活动现场印象笔记发布了新版APP,新增专为中国用户开发的Markdown、电脑端密码锁、Wigdet剪藏,以及分享至QQ等功能,并展望了多项未来产品及功能创新。今年6月6日,印象笔记宣布重组,从一家硅谷公司在中国的分支,变成了独立的“中国互联网公司”。谈及印象笔记的定位,唐毅表示:“印象笔记是工具,更是高价值信息和知识的基础平台。”印象笔记将携手国内高价值内容平台,打造属于新一代知识人群的首屏应用和第二大脑。带着Evernote总部知识产权的转让和授权,印象笔记团队承接了Evernote近千万行代码,经过2个月的研发,陆续上线了4个端(Android、iOS、Mac、Windows)以及网页版的新版印象笔记。据统计,目前已经有超过60%的原有用户,迁移到了新版印象笔记上。拥有完全自主权后的印象笔记,终于第一次配备了自己的产品团队,他们整理了印象笔记进入中国6年来用户们的各种反馈、留言和呼声。为此,新版印象笔记在不同端陆续上线Markdown编辑器、电脑端密码锁、Wigdet剪藏、分享等4大新功能。目前,全新Markdown功能将于8月20日首先上线Mac版提供公测,Windows及其他端也会逐渐跟进支持;带有Wigdet剪藏功能的iOS版已于8月1日上线苹果应用商店;印象笔记还与QQ空间进行了分享功能的首次尝试。同样会在8月20日发布的Android版更新中正式推出。分享到微信的功能也将后续发布上线,整体对外分享功能也在全面开发中。据印象笔记产品总监刘璨介绍,未来,诸如语音转文字、多人协作编辑等都将是印象笔记新的更新方向,“印象笔记会更多结合人工智能科技的发展,为大家提供更智能的使用体验”。刘璨讲到。在专注产品本身的研发优化的同时,印象笔记也开始了新的布局探索。包括线下系列主题沙龙“大象识堂”、主打在线课程的“大象学院”、设计售卖文创周边的“大象好物”等。截至目前,“大象学院”已经上线175节课程,累计听课人次逾百万。(完)
腾讯贡献大规模 Node.js 微服务框架 Tars.js 互联网视频课程
随着互联网的发展,越来越多的业务不仅仅由单一节点(或是单一语言)就可承载,而是趋向多语言分布式协同开发(如接入层由Node.js完成,逻辑(数据)层由C++/GO/Python实现)并由此组成大型异构系统。我们(现SuperTeam)基于 Tars 体系研发出 Tars.js 以便用户在不改变异构系统整体架构的情况下快速搭建(迁移)Node.js服务,并可非常方便的将原来的单一服务拆分为多个(逻辑)子服务。Tars.js在腾讯内部经过5年多的沉淀与迭代(Node.js@0.10版本即提供支持),广泛运用于腾讯QQ浏览器、腾讯桌面浏览器、腾讯地图、应用宝、腾讯手机管家、互联网+、腾讯医疗、腾讯觅影、保险、彩票等几十个重要业务中,日承担了上百亿流量。Tars.js包含下述特性:l 100%由JavaScript编写,不包含任何C/C++代码。l 多进程负载均衡与管理。l 代码异常监控与重启。l 服务日志搜集与处理。l HTTP(s)服务监控与用量自动上报,并支持用户自定义维度上报(PP监控)。l 符合 Tars(IDL)规范的编解码模块。l 支持 TarsRPC调用与染色(模调自动上报)。l 支持在线发送管理命令、拉取服务配置。l 独创 LongStackTrace™异常跟踪机制。l …… 更多特性可访问 @tars/node-agent 了解设计理念:»A.高自由度:l 兼容所有(≥0.10)官方Node.js版本。l 对 Node.js源码无侵入无修改。l 底层对上层完全透明,支持各种上层框架,无需变更。也就是说:您可以使用任何您熟悉的框架(如 Express.js/Koa.js等,包括但不仅限于Web框架),也无需对框架进行任何修改(无需引入任何中间件)。即可通过Tars.js运行,享受平台提供的各种监控与管理特性。与此同时,Tars.js所提供的模块,也可以根据您的需求引入(如未使用到则可不引入)。»B.高性能:Tars.js为高性能与大并发量而设计,使用了大量的前端(V8)优化技巧(如FlattenString/FastProperties等)尽量降低所提供的能力对于业务性能的影响。经过我们测试(WebServer),默认的旁路上报与监控对服务性能的影响≤5%,常用模块(RPC、日志等)性能位于业界前列。»C.差异化:Tars.js根据不同的业务类型提供差异化运营方案:l 高流量业务:尽力降低框架对业务性能的影响。l 低流量业务:充分利用硬件资源提升开发体验。HelloWorld我们来看Node.js官网的 例子 (如下),无需任何变更,直接通过Tars.js进行部署,它会拥有哪些特性?✓ 进程管理默认基于 cluster 模块进行负载均衡,进程数可以配置为1~max(CPU核心数)、还可配置为auto(物理核心数相同)以减小内存压力提升“性价比”。与此同时,进程僵死检测也会同时启动,实时监控业务进程。»案例说明某服务在论坛UBB代码转HTML时,使用未优化的正则表达式进行XSS攻击过滤,但由于用户发帖时图片采用BASE64编码,导致正则表达式计算时间过长,CPU使用率飙涨到100%:开启僵死检测后,Tars.js监控到业务进程僵死时,自动重启业务进程,从而缩短了业务无响应时间:Tars.js虽然无法解决业务代码的问题(BUG),但会尽最大努力保证业务的可用性。✓ 服务监控以服务名、接口名(URL-PATH节)为纬度,统计总流量、平均耗时、超时率、异常率:其中返回码大于400(可配置)作为异常进行上报。»监控说明Web服务一般由静态与动态资源(接口)组成,由于静态资源(本地文件)的请求耗时远低于动态资源(业务逻辑),请求量往往又很高,拉低了服务整体耗时。基于此,Tars.js将请求URL中的PATH节作为接口,每个接口均可查看其总流量、平均耗时、异常率,便于用户全面了解服务性能。✓ 特性监控无论您服务的类型是什么,总是会上报下述特性,便于回溯问题与评估性能:l memUsage:内存用量,将会上报rss、heapUsed、heapTotal这三个用量(单位为字节)l cpuUsage:CPU用量,将会上报CPU使用率,数据汇总为逻辑单核(单位为百分比)l eventloopLag:(任务)队列延迟,每隔2秒采样(单位为毫秒)l libuv:I/O用量,将会上报activeHandles、activeRequests这两个用量各策略以平均值(Avg)、最大值(Max)、最小值(Min)分节点进行统计:✓ 日志输出所有通过Console模块(如console.log)输出的日志,都会输出到服务本地文件内。并附加相关信息(如下),方便定位问题。日志格式:日期时间|进程PID|日志级别|输出文件名与行号|日志内容2018-07-0112:00:00|332|DEBUG|app.js:13|Serverrunningathttp://127.0.0.1:3000/✓ LongStackTrace™由于Node.js采用异步机制,在发生异常时堆栈不完整,导致定位问题复杂。鉴于此,我们提供了长链路跟踪技术在产生异常时自动附加前序调用堆栈,同时还支持在异常堆栈中过滤出用户代码部分。由于开启此特性时会造成性能损耗,故默认关闭,管理平台等性能不敏感业务可直接通过配置开启。»案例说明执行上述代码会抛出下述异常:ReferenceError:ThisMayThrowErrorisnotdefinedatTimeout.setTimeoutas_onTimeoutat_disibledevent="http://superzheng.com/">@SuperZheng 创立于2017年。团队成员均为全栈架构师(Super寓意Superman——无所不能),熟知Web(3D)、终端、后端与大数据计算,并由传统前端向互联网从业者方向发展。欢迎前端牛人加入,共创前端美好未来。