oss js sdk 异步架构改造
### 背景
随着js的技术变革,es6/7的语法的慢慢普及,并且很多的sdk都开始对新的异步进行支持,因此我们也在开始进行调研,总结目前sdk存在的问题:
- oss js sdk目前的异步api需要依赖第三方库co
- api的调用栈很不清晰,定位问题困难,只要是因为这个co库
- 对于then的异步方式需要一个wrapper来处理
- issue上反馈了很多用户的诉求
### 结构变化
- 所有的对外暴露的api方法 由之前的
function*
转变为async function
- 需要使用
yeild
的地方均由await
代替 - 底层异步全部统一使用
Promise
/async await
形式 - 修改了部分bucket相关的api方法参数, 详情参考readme
### 改进点
#### 1.使调用栈变得清晰,方便问题的排查。
co调用栈
可以看出: 调用栈非
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
分库分表的正确姿势,你GET到了么?
每个优秀的程序员和架构师都应该掌握分库分表,这是我的观点。 移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 订单表 交易流水表 以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。事实上MySQL单表可以存储10亿级数据,只是这时候性能比较差,业界公认MySQL单表容量在1KW以下是最佳状态,因为这时它的BTREE索引树高在3~5之间。 既然一张表无法搞定,那么就想办法将数据放到多个地方,目前比较普遍的方案有3个: 分区; 分库分表; NoSQL/NewSQL; 说明:只分库,或者只分表,或者分库分表融合方案都统一认为是分库分表方案,因为分库,或者分表只是一种特殊的分库分表而已。NoSQL比较具有代表性的是MongoDB,es。NewSQL比较具有代表性的是TiDB。 Why Not NoSQL/NewSQL? 首先,为什么不选择第三种方案NoSQL/NewSQL,我认为主要是RDBMS有以下几个优点: - RDBMS生态完善; - RDBMS绝对稳...
- 下一篇
使用Spring Framework构建的应用程序面临严重缺陷
Spring框架,是用于开发Java Web的应用程序的。最近,其开发人员修补了三个漏洞,其中包括可用于远程代码执行的关键漏洞。 最严重的缺陷位于spring-messaging模块,它允许应用程序通过内存中的STOMP代理在WebSocket端点上公开STOMP(简单文本导向消息传递协议)。攻击者可以通过向代理发送特制的消息,利用该问题来获取远程代码执行。 该漏洞被命名为CVE-2018-1270,它影响了Spring Framework版本4.3.x和5.x,以及不再支持旧版本。强烈建议用户升级到新发布的Spring Framework 5.0.5或4.3.15。 第二个高级漏洞CVE-2018-1271,影响了用Spring MVC去服务静态资源如Windows上的文件系统里的CSS,JS的应用。该漏洞允许攻击者通过向特制URL发送请求来执行目录浏览,以访问受限资源。 凡是未使用Tomcat或WildFly作为其服务器的应用程序,或者未使用Windows文件的不受影响。 在Spring Framework 5.0.5和4.3.15,CVE-2018-1272中修补的第三个漏洞可能...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)