加入收藏 | 设为首页 | 会员中心 | 我要投稿 四平站长网 (https://www.0434zz.com.cn/)- 云服务器、对象存储、基础存储、视频终端、数据应用!
当前位置: 首页 > 站长资讯 > 评论 > 正文

需求比经济不确定性更强烈

发布时间:2021-02-07 13:44:06 所属栏目:评论 来源:互联网
导读:esolve 的附加实现 其实写到这里我们的 resolve 函数还是有一些功能没有实现的, 我们知道 调用 resolve(x), x 的值有好几种情况,如下 如果 x 是 Promise 实例本身,则抛出错误 如果 x 是一个 Promise 对象,那么 then 函数的执行取决这个 x 的状态,如果 x

esolve 的附加实现

其实写到这里我们的 resolve 函数还是有一些功能没有实现的, 我们知道 调用 resolve(x), x 的值有好几种情况,如下

  •  如果 x 是 Promise 实例本身,则抛出错误
  •  如果 x 是一个 Promise 对象,那么 then 函数的执行取决这个 x 的状态,如果 x 也调用 resolve(y),其中 y 也是一个 promise 对象.那么 then 函数的执行取决于这个 promise 对象,依次类推,直到最后一个 promise 状态更改
  •  如果 x 是一个 thenable 对象,就是一个对象包含 then 这个属性,或者是一个函数包含一个 then 的静态方法,那么直接执行 then 函数
  •  如果 x 是一个普通值,直接变成 onFulfilled 状态,执行后面的 then 函数

思考

  •  网上实现的大部分 resolve 都是我上面的代码,但是根据规范,resolve 函数里面应该是要判断上面几点的,所以我们上面写的代码是有误的
  •  还有一个问题是,我们需要在 resolve 函数里面判断 x 是不是实例的本身,但是正常的 resolve 函数我们经常是传入一个参数,所以中间肯定是有一个中间函数的,看下面的代码 

前言

promise 是 js 里面非常重要的一部分,搞懂了 promise 才能更好的去理解 async,await 和 generator。但是往往很多时候就是不理解 promise 的机制,所以这次通过一步步实现一个 promise 来加深自己的印象,提高自己的思维。

大概的架子

通过我们经常写的 promise 语法,我们可以先写一个大概的架子出来,promise 接受回调,并且调用,自身带有三种状态,pendding, onFulfilled, onRejected,并且 resolve 这个函数可以让 pendding 状态变成 onFulfilled 状态,同理 reject 函数可以让 pendding 状态变成 onRejected 状态。我们先把上面描述部分实现了。
 

  • 利用“供需”的经济性——AWS和Azure这样的云计算服务提供商具有“Spot”实例的概念,这些实例是未使用的虚拟机(VM)容量,与“随需应变”或“现收现付”模式相比,其价格低得多(高达90%)。整个原则基于“供需”动态:云计算提供商的供给大于需求,因此将以更低的价格出售服务容量。唯一的问题是,当需求增加时,云计算服务提供商可以收回“Spot”实例。也就是说,有多种策略可用于有效地利用“Spot”实例。
  • 使用“定义的持续时间工作负载”——在AWS云平台上,当用户请求“Spot”实例时,有一项原则,确保“Spot”实例在规定的时间段(1到6小时)可用,即使需求增加,云计算提供商也不会收回实例。而且,在AWS云平台中使用现场成本定义的持续时间工作负载时,每小时成本节省40%~80%(具体取决于阻止的小时数),因此,此设置对于云平台上的开发和PoC环境非常有效。
  • 结合AWS上的“按需”和“Spot实例”,称为“Spot Fleet”。 Spot Fleet尝试启动Spot实例和按需实例的数量,以满足用户需要的目标容量。例如,如果需要在负载均衡环境下运行5个应用程序服务器,则不需要将所有5台应用服务器都置于“按需”定价之下。选择3个“按需”和2个“Spot”实例的组合。“按需”确保用户始终具有实例容量,并且通过运行“Spot”实例来节省成本。
  • 优化数据存储成本——存储是最便宜的云计算服务之一,也是最被忽略的云计算服务。通常云计算提供商定义不同的存储类型,用户可以决定使用什么。人们会发现,根据不同的业务场景,新创建的数据在开始使用的30到60天内会大量使用。在此期间之后,很少会引用数据,或者在最糟糕的情况下永远不会使用这些数据。一个典型的例子是生成大量数据但仅在30到60天内相关的日志文件。甚至信用报告也在90天后被金融机构再次取回。
  • 有些组织在未使用的云计算服务方面甚至浪费了数百万美元——为了有效地管理存储成本,需要采用数据定义生命周期策略。将数据保留30天,以“频繁访问”,然后将其移至“不频繁访问”,然后移至长期存档。通过实施这种强大的数据管理做法,用户还可以节省大量成本。对于美国东部地区的AWS,每月每种存储类型的成本差异如下:
  • S3 Standard——0.023美元/GB;
  • S3 Standard,很少访问——0.0125美元/GB;
  • S3 Glacier——0.004 美元/GB;
  • S3 Glacier Deep存档——0.00099 美元/GB。

除此之外,还请考虑:

  • 删除不需要的文件;
  • 删除文件的原生版本,并且仅保留当前版本;
  • 删除不完整的多部分文件上传。
  • 利用企业折扣——AWS和Azure都为那些与他们进行三年以上批量投资的用户提供折扣计划。组织需要在协议的每一年中做出预付款项。通常,长期的大量支出会导致云计算提供商的折扣。但是,如果用户不花费已承诺的金额,则必须支付剩余的金额(因为这是合同的一部分)。对于Azure来说,企业协议可能会节省15%到45%的成本。

持续优化是关键

这并不是提供所有企业云计算利用技术优化策略完整列表的方法。但是可以肯定的是,这些是采用云计算服务的组织中最常见的。以下是维持成本优化方法的一些关键举措:

  • 安排专门的人员负责确保云计算支出在限制之内并且同等重要。
  • 定义预算并在接近阈值时设置警报。
  •  云平台的资源是无限的,但组织的云计算支出是有限的。组织需要确保在云平台上花费的成本是值得的。

(编辑:四平站长网)

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

    推荐文章
      热点阅读