我想开发录制回放、故障模拟、动态日志、行链路获取等等工具,3、增加了会话扩展功能区展开软键盘接口

摘要融云即时通讯云SDK新版发布,本次发布的版本为: Android 2.8.26
Stable、iOS 2.8.26 Stable。发布的版本Android 2.8.26 Stable、iOS 2.8.26
Stable,更新时间为:2018年01月04日。iOS 2.8.26
Stable更新内容1、修复了发送图片模糊的问题。2、会话页面 CollectionView 的
datasource 总数限制提高至 3000。3、优化了 Emoji
表情排序规则。4、发送位置消息截图的时候去掉了自己定位的蓝色圆点。Android
2.8.26 StableAndroid 2.8.26
Stable更新内容1、优化了多线程连接的处理逻辑。2、优化了 Emoji
表情排序规则。3、增加了会话扩展功能区展开软键盘接口。4、增加了会话输入区扩展功能
“+” 自定义 ICON
接口和点击事件回调接口。下载地址请从以下官网地址下载:

摘要2018年2 月 9 日,Apache 基金会的邮件列表上发起了讨论是否接纳阿里的
Dubbo 项目进入 Apache
孵化器的投票。2018年2月15日,正式通过投票,顺利成为 Apache
基金会孵化项目。前言2018年2月9日,Apache
基金会的邮件列表上发起了讨论是否接纳阿里的Dubbo 项目进入 Apache
孵化器的投票。2018年2月15日,邮件列表显示,Dubbo 获得了 14
张赞成票,在无弃权和反对票的情况下,正式通过投票,顺利成为 Apache
基金会孵化项目。Apache开源孵化器Apache
的顶级项目往往都需要经过孵化器孵化,满足一系列质量要求之后才可毕业。2016
年 12 月 15 日,阿里巴巴曾宣布将移动开源项目 Weex 捐赠给 Apache
基金会开始孵化,目前尚未毕业。Dubbo 是否能正式成为 Apache
的顶级项目,还有一段路要走。社区的加入,能否让 Dubbo
的实用性再上一层楼,我们拭目以待。关于Dubbo说起 Dubbo
框架,可能很多后端开发者都有所了解,它是国内比较早的、影响较大的开源项目,包括阿里巴巴、京东、当当网、去哪儿网、网易考拉、微店等电商平台都有其成功应用案例。Dubbo
于 2011 年开源,之后就迅速成为了国内该类开源项目的佼佼者。可以想象,2011
年时,优秀的、可在生产环境使用的 RPC 框架很少,Dubbo
的出现迅速给人眼前一亮的感觉,而同时它又有阿里巴巴背书,所以也迅速收到了开发者的亲睐。Dubbo
目前在 GitHub 上有超过 16000 个 star 和超过 12000 的 fork
数,绝对是国内影响力最大的开源项目之一。但奇怪的是,在 2014 年 10 月 30
日发布 2.4.11 版本后,Dubbo 突然停止更新,当时社区一片哗然(其实是在
2012 年 10
月之后就基本停止了重要升级,改为阶段性维护)。具体原因现在也不得而知,知乎上也有一些讨论,包括团队调整、内部主推
HSF 等。不过可以确认的是,在 4
年前,国内企业对于开源的重视程度都远远没有今天高。而在官方停止更新 Dubbo
之后,当当网(Dubbox)、网易考拉(Dubbok)都有维护自己单独的分支,这也可以从另外一个侧面证明
Dubbo
确实应用到了这些企业的重点业务,并且规模不小。随着阿里巴巴对于开源的逐步重视,2017
年 9 月 7 日,Dubbo 悄悄的在 GitHub 发布了 2.5.4
版本。随后,没过多久,又迅速发布了 2.5.5、2.5.6、2.5.7 等版本。在 10
月举行的云栖大会上,阿里宣布 Dubbo
被列入集团重点维护开源项目,这也就意味着 Dubbo
起死回生,开始重新进入快车道。阿里巴巴为何重启Dubbo而对于为什么要重新启动维护
Dubbo,以及 Dubbo 和 HSF 的关系,Dubbo 未来的计划,当时聊聊架构也采访了
Dubbo
负责人、阿里巴巴中间件高级技术专家罗毅,感兴趣的读者可以点击阅读原文《阿里重启维护Dubbo了》。这次采访中,令我印象深刻的是罗毅提到了
Dubbo
的愿景,他说开源就阿里巴巴集团在技术层面赋能的重要领域,阿里巴巴中间件团队今后不仅要聆听社区的声音,及时修复问题,及时合并优秀的
pull request,还会力争将 Dubbo 打造成有国际影响力的 RPC
框架。国际影响力,让人一下子沸腾。而对于 Dubbo 和 Spring Cloud
的区别,罗毅也做了总结,一针见血:需要强调的是 Dubbo
未来的定位并不是要成为一个微服务的全面解决方案(Spring Cloud
是),而是专注在 RPC
领域,成为微服务生态体系中的一个重要组件。至于大家关注的微服务化衍生出的服务治理需求,我们会在
Dubbo
积极适配开源解决方案,甚至启动独立的开源项目予以支持。Dubbo的未来这一次,Dubbo
进入 Apache 孵化器。也就是说,Dubbo 将不再是阿里巴巴的
Dubbo,而是开源社区的,它未来的走向以及规则将会像其他的 Apache
项目一样。不过,从孵化项目到正式的开源项目,Dubbo
其实还有一段路要走。知乎上,昵称为二货的用户对这一流程做了详细解释,以下为摘录:Apache
项目有多个阶段,第一个阶段是进入孵化器。在进入孵化器前会有诸多审核流程,通过后进入
Apache Incubator。此时成员需要签一个协议,完成后获赠 Apache 账户(Apache
邮箱可以免费使用 intellij 哦,这也是 jetbrains
对开源贡献者的鼓励呐~)。在这个阶段会有 mentor 进行社区化指导,包括 PR
流程,包括 license 检查,包括 mail list
的回复,等等等。除了项目保持活跃外,还需要有外部
commiter。当项目在孵化器中持续一段时间满足毕业条件后便可以走正式毕业流程了。毕业后,项目移出
incubator,成为正式开源项目。项目更新流程不会有什么变化。另一种情况是项目失活,缺少社区支持与维护。那么就会被移出(不多见)。这里需要注意的是,社区活跃度是一个培养的过程。并不是说你一来就社区全是人的,这也正是孵化阶段的目的。最后,祝
Dubbo
能有一个更好的未来,就像其使命一样,成为有国际视野的顶级开源项目。同时,也祝各位开发者新年快乐,狗年旺旺旺!

摘要阿里巴巴于近期正式开源了其自研的动态非侵入AOP解决方案:JVM-Sandbox。JVM-Sandbox即JVM沙箱容器,一种JVM的非侵入式运行期AOP解决方案。写在前面随着软件部署规模的扩大,系统的功能的细化,系统间耦合度和链路复杂度不断加强。若要继续保持现规模系统的稳定性,需要实现并完善监控体系、故障定位分析、流量录制回放、强弱依赖检测、故障演练等支撑工具平台。出于对服务器规模和业务稳定性的考量,这些配套工具平台要具备对目标应用具有无侵入、实时生效、动态可插拔的特点。要实现这些,多少都会触及到一块底层技术——动态字节码增强。如果每个工具都自己实现一套字节码增强逻辑,前期实现的门槛与后期维护成本高,且不同工具间相互影响造成不可预知的风险。如何屏蔽字节码增强技术的高门槛,降低研发运维成本,同时又能支持上层多个工具平台功能的快速实现和动态管理,成为阿里集团的目标。从去年开始潜心修行,创新的研发了一套实时无侵入的字节码增强框架。于是
JVM-Sandbox
诞生了!诞生历程2014年GREYS第一版正式发布,一路看着他从无到有,并不断优化强大,感慨羡慕之余,也在想GREYS是不是只能做问题定位。2015年开始根据GREYS的底层代码完成了人生的第一个字节码增强工具——动态日志。之后又萌生了将其拆解成录制回放、故障模拟等工具的想法。扪心自问,我是想以一人一个团队的力量建立大而全的工具平台,还是做一个底层中台,让每一位技术人员都可以在它的基础上快速的实现业务功能。我选择了后者。应用场景JVM-Sandbox
的目标群体Btrace
好强大,也曾技痒想做一个更便捷、更适合自己的问题定位工具,既可支持线上链路监控排查,也可支持单机版问题定位。有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志,甚至出现在别人的代码里,好想开发一个工具可以根据需要动态添加日志,最好还能按照业务
ID
进行过滤。系统间的异常模拟可以使用的工具很多,可是系统内的异常模拟怎么办,加开关或是用
AOP
在开发系统中实现,好想开发一个更优雅的异常模拟工具,既能模拟系统间的异常,又能模拟系统内的异常。好想获取行调用链路数据,可以用它识别场景、覆盖率统计等等,覆盖率统计工具不能原生支持,统计链路数据不准确。想自己开发一个工具获取行链路数据。我想开发录制回放、故障模拟、动态日志、行链路获取等等工具,就算我开发完成了,这些工具底层实现原理相同,同时使用,要怎么消除这些工具之间的影响,怎么保证这些工具动态加载,怎么保证动态加载
/
卸载之后不会影响其他工具,怎么保证在工具有问题的时候,快速消除影响,代码还原。如果你有以上诉求,那么你就是
JVM-Sandbox 的潜在客户。JVM-Sandbox
提供动态增强类你所指定的类,获取你想要的参数和行信息;提供动态可插拔容器,管理基于
JVM-Sandbox 的模块。JVM-Sandbox 能做什么?在
JVM-Sandbox(以下简称沙箱)的世界观中,任何一个 Java
方法的调用都可以分解为BEFORE、RETURN和THROWS三个环节,由此在三个环节上引申出对应环节的事件探测和流程控制机制。不仅如此还有LINE事件,可以完成代码行的记录。//
BEFORE-EVENTtry { /* * do something… */ //LINE-EVENT a(); //
RETURN-EVENT return;} catch (Throwable cause) { //
THROWS-EVENT}基于BEFORE、RETURN和THROWS三个环节事件以及LINE事件,可以完成很多类
AOP
的操作。可以感知和改变方法调用的入参可以感知和改变方法调用返回值和抛出的异常可以感知一个请求按顺序执行了哪些行可以改变方法执行的流程在方法体执行之前直接返回自定义结果对象,原有方法代码将不会被执行在方法体返回之前重新构造新的结果对象,甚至可以改变为抛出异常在方法体抛出异常之后重新抛出新的异常,甚至可以改变为正常返回JVM-Sandbox
都有哪些可能的应用场景线上故障定位线上系统流控线上故障模拟方法请求录制和结果回放动态日志打印安全信息监测和脱敏行链路计算和覆盖率统计JVM
沙箱还能帮助你做很多很多,取决于你的脑洞有多大了。JVM-Sandbox
在阿里集团的应用线上故障演练17 年故障演练平台在 JVM-Sandbox 基础上仅耗时
1
周即完成故障注入部分的系统重构。重构后的系统在挂载效率和挂载成功率方面有了明显的提升,极大的缩短的故障演练的时间,演练效率提升了数十倍。基于
JVM-Sandbox 改造后的故障演练平台,通用性强,所有基于 JVM
启动的系统均支持,极大的拓展了故障演练的范围,故障演练已达到集团级部署。与
16 年故障演练数据对比,17 年的故障演练平台,覆盖 BU 提升了 1.6
倍,覆盖应用提升了 5 倍,覆盖场景提升了 37 倍。依赖检测17
年强弱依赖自动化检测平台诞生。它提供了依赖检测、强弱分析、依赖扫描、故障注入等多种能力,底层能力基于
JVM-Sandbox 在 1
周内完成功能开发。利用其模块容器的特性,将前人开发的模块与新增模块一起挂载共同工作,完成平台功能。强弱依赖梳理方面,承载了淘宝的系统强弱依赖梳理工作,260+
个应用一键接入系统,并实现了 0
人工成本的自动化、智能化梳理。服务端录制隔离回放机制在 JVM-Sandbox
基础上开发了一个 SS 模块,相当于一个录音机 + 回放机,
在调用中间件的时候, 顺序录制下了我们的中间件请求,
并且存储这份‘磁带’到服务器上。当我们需要隔离回放的时候,
将这份‘磁带’找到, 并且在需要的时候直接从‘磁带’读取,
并不需要真实地请求我们的中间件,
这样就保证了我们的读、写接口也能做到可重复使用,从而实现服务端的隔离回放。线上录制隔离回放不仅极大的缩短的业务回归的耗时,把业务测试同学从繁琐的数据准备和接口自动化脚本的编写过程中解放出来,而且极大的拓展了覆盖范围,使回归的范围更贴近用户,且场景更丰富。精准回归服务端录制隔离回放机制诞生之后,虽然有效的提升了覆盖范围,降低了自动化脚本的人工投入,但是也带来了新的问题。线上录制的场景是海量的,单个系统都可以达到万级、十万级甚至百万级别的录制,这些录制的场景中,存在大量的重复场景,如何识别重复场景,实现有效、精准的回放,成为新的待解决问题。17
年在 JVM-Sandbox 的基础上,利用 LineEvnet
实现了行链路识别和标记,有效的提升了回放的精准度和效率。JVM-Sandbox
在阿里集团已经实现全网部署,在其上加载不同的模块实现了不同的功能,每个功能根据
BU
和应用的需要进行加载:强弱依赖检测功能:覆盖淘宝、天猫、业务平台、菜鸟、飞猪、ICBU、CBU
等 7 个 BU,240+
个应用;线上故障演练功能:覆盖集团客户体验事业群、淘宝网、云零售事业部、天猫、业务平台、飞猪、菜鸟、钉钉、阿里健康、CBU、集团安全、支付宝等
16 个 BU,391 个应用;服务端录制回放:覆盖淘宝网、钉钉 2 个
BU;精准回归:覆盖淘宝网、业务平台、钉钉 3 个
BU。通过上边的事例,想必大家对 JVM-Sandbox
是什么,核心功能是什么,还能做哪些事情,以及是否可以为阿里以外的同学提供服务等问题更感兴趣了,下面我们着重介绍这部分内容。开源和共建1、已开源,寻求更多的同学一起完善
JVM-Sandbox 的功能。Github
地址:
JVM-Sandbox
的功能;3、希望更多的同学想到跟多的应用场景,并能开源出来供大家使用。综上,JVM-Sandbox
是一个纯 java 编写的 AOP
解决方案。它为研发人员提供了一个快速实现字节码增强工具的平台。他的模块管理功能可以最大限度的复用模块、协同合作,减少重复投入。随着
JVM-Sandbox
的开源,我们期待更多的人加入到功能扩张和优化上,使其适配更多的开源中间件和
JVM。希望有更多的同学,发挥其聪明才智,开发更多、更好的上层模块,提供给自己和其他人的人使用。也希望能够利用好已有的模块,组装出新的工具平台和应用场景。JVM-Sandbox
建设和应用期待大家共同建设。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注