加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮南站长网 (https://www.0554zz.cn/)- 管理运维、图像技术、智能营销、专属主机、5G!
当前位置: 首页 > 站长资讯 > 动态 > 正文

为冷链管理提供了新的方法

发布时间:2021-02-06 11:22:23 所属栏目:动态 来源:互联网
导读:看到了吧,由于我们要制作10000个油条,make_youtiao函数执行完需要10分钟,也就是说即便我们使用了回调,调用方完全不需要关心制作完油条后的后续流程,但是调用方依然会被阻塞10分钟,这就是同步调用的问题所在。 如果你真的理解了上一节的话应该能想到一

看到了吧,由于我们要制作10000个油条,make_youtiao函数执行完需要10分钟,也就是说即便我们使用了回调,调用方完全不需要关心制作完油条后的后续流程,但是调用方依然会被阻塞10分钟,这就是同步调用的问题所在。

如果你真的理解了上一节的话应该能想到一种更好的方法了。

没错,那就是异步调用。

反正制作完油条后的后续流程并不是调用方该关心的,也就是说调用方并不关心make_youtiao这一函数的返回值,那么一种更好的方式是:把制作油条的这一任务放到另一个线程(进程)、甚至另一台机器上。

如果用线程实现的话,那么make_youtiao就是这样实现了:
 

故事还没完,假设这时D小组又想使用呢,难道还要接着添加if else吗?这样的话A小组的同学只需要维护make_youtiao这个函数就能做到工作量饱满了,显然这是一种非常糟糕的设计。

所以你会看到,制作完油条后接下来该做什么不是实现make_youtiao的A小组该关心的事情,很明显只有调用make_youtiao这个函数的使用方才知道。

因此make_youtiao的A小组完全可以通过回调函数将接下来该干什么交给调用方实现,A小组的同学只需要针对回调函数这一抽象概念进行编程就好了,这样调用方在制作完油条后不管是卖掉、放到库存还是自己吃掉等等想做什么都可以,A小组的make_youtiao函数根本不用做任何改动,因为A小组是针对回调函数这一抽象概念来编程的。

以上就是回调函数的作用,当然这也是针对抽象而不是具体实现进行编程这一思想的威力所在。面向对象中的多态本质上就是让你用来针对抽象而不是针对实现来编程的。

异步回调

故事到这里还没有结束。

在上面的示例中,虽然我们使用了回调这一概念,也就是调用方实现回调函数然后再将该函数当做参数传递给其它模块调用。

但是,这里依然有一个问题,那就是make_youtiao函数的调用方式依然是同步的,关于同步异步请参考《从小白到高手,你需要理解同步与异步》,也就是说调用方是这样实现的
 

Hypervisor技术从一开始就是云计算的基石之一。然而,近年来容器技术的爆发,让这种虚拟化技术开始被认为是传统方法。有不少人认为,容器的普及对虚拟机形成了冲击,于是就有了早些年的容器与虚拟机之争。

经过几年的技术发展和大规模实践,虽然许多企业正在将基于虚拟机的应用程序迁移到容器,但事实上虚拟机在数据中心和公有云中仍然普遍存在。一方面,容器并没有完全替代虚拟机,另一方面虚拟机也在积极支持容器,两者共存的情形反而越来越普遍。

今天就来聊聊虚拟机和容器到底有什么区别,为什么两者会走向共存,以及将来会走向何方
 

总结起来,方案 1、2 以及方案 3 中的通用方案不能保证解决大表 join 大表问题,因为它们都存在种种不同的限制和特定的使用场景。

而方案 3 的专用方案和方案 4 是比较推荐的优化方案,但是它们都需要新建一个临时表来存放每日动态变化的大卖家 。

相对方案 4 来说,方案 3 的专用方案不需要对代码框架进行修改,但是 B 表会被放大,所以一定要是维度表,不然统计结果会是错误的 。方案 4 的解决方案最通用,自由度最高,但是对代码的更改也最大,甚至需要更改代码框架,可作为终极方案来使用。
 

相比通用方案,专用方案的运行效率明显好了很多,因为只是将B表中大卖家的行数放大了 1000 倍,其他卖家的行数保持不变,但同时也可以看到代码也复杂了很多,而且必须首先建立大卖家表。

方案 4:动态一分为二

实际上方案 2 和 3 都用到了一分为二的思想,但是都不彻底,对于 mapjoin 不能解决的 问题,终极解决方案就是动态一分为 ,即对倾斜的键值和不倾斜的键值分开处理,不倾 斜的正常 join 即可,倾斜的把它们找出来然后做 mapjoin ,最后 union all 其结果即可。

但是此种解决方案比较麻烦,代码会变得复杂而且需要一个临时表存放倾斜的键值。

(编辑:淮南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读