发布于 2017-07-05 00:31:51 | 99 次阅读 | 评论: 0 | 来源: 网友投递
Atlas MySQL中间层
Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。
插件:
1.升级android builder 到 2.3.3版本
2.unit tag 非 diff bundle 保持 不变
3.tBuildConfig.minPackageId 可设置最小的自动分配packageId,默认35(10进制)开始
4.加强对插件配置使用的校验
5.不推荐在atlasplugin之前添加google官方的插件,推荐让atlasplugin自动依赖传递进来
bundle之前的依赖推荐使用bundleCompile, 如果使用compile awb,会有警告日志
awb 之间允许使用 providedCompile 依赖
6.databinding优化,后续bundle的databinding需要独立配置是否启用
tBuildConfig.dataBindingBundles
配置值为 bundle 的packageName
类型为 Set
代码: com.taobao.android.builder.extension.TBuildConfig.dataBindingBundles
容器:
bundle 安装时进行校验,规避安装时解压不完整使用老bundle的情况
sdcard安装时 dexopt路径选择内部存储,规避某些设备兼容性问题
sdcard安装时 native so安装到内部存储,高版本sdcard mounted noexec导致mmaping失败
针对android O NativeElement兼容,Element新接口兼容
android O动态部署bug修复
getLayout在极少数情况下失败的埋点和walkround
其他少量代码调整
Atlas 是伴随着手机淘宝的不断发展而衍生出来的一个运行于 Android 系统上的一个容器化框架,也叫动态组件化 (Dynamic Bundle) 框架。它主要提供了解耦化、组件化、动态性的支持。覆盖了工程师的工程编码期、Apk 运行期以及后续运维期的各种问题。
在工程期,实现工程独立开发,调试的功能,工程模块可以独立。
在运行期,实现完整的组件生命周期的映射,类隔离等机制。
在运维期,提供快速增量的更新修复能力,快速升级。