我们这篇文章的作者:


F1rstOffer越来越多的购物应用程序,帮助消费者找到最好的交易在网络上。完成工作他们依赖Elasticsearch作为NoSQL数据库。优秀的客户体验,F1rstOffer使用巨大的、昂贵的EC2实例类型,如c3.4xlarge c3.8xlarge, g2.8xlarge cc2.8xlarge, r3.8xlarge。EC2支出暴涨,他们希望他们可以负担得起的现货情况下,但不能与现货价格的可用性问题风险。然而,这一切都改变了,当他们开始使用Spotinst…但首先一些背景知识。
“我们的顾客需要超快的结果。与Spotinst我们巨大的EC2实例的成本减少80%没有任何对可用性的影响。“F1rstOffer Tal示麦、创始人和首席技术官
分片和复制,一个额外的,但是必要的费用
ElasticSearch最强大的特性之一是它的规模水平的能力,在许多不同的方式;路由、分片和时间/基于模式的创建索引和查询。作为索引可能包含比单个实例可以容纳更多的数据,细分一个索引,通常被称为分片,NoSQL数据库的标准功能。这允许缩放和分布式操作导致更好的性能。确保高可用性、复制通常采用当网络中有一些失败/云,你不会失去你的碎片。
当然,Elasticsearch提供这些特性和F1rstOffer愉快地使用两种。支持这个他们无数的随需应变的实例(如运行。c3.8xlarge,g2.8xlarge等),有一个大月度账单。在探索如何更加符合成本效益,同时保持高可用性、F1rstOffer Spotinst发现的。
高可用性和可负担得起的不再是一个梦想
Spotinst使AWS客户现货实例上运行任何负载与完整的可用性。一旦你已经配置EC2容量需求,Spotinst会明智地分配工作负载在不同现货市场(如不同的实例类型和az),这样永远不会有两个市场同时失败。
Spotinst标识-通常提前4 - 7分钟时现货实例将被终止,替代实例,无论是现货,随需应变,甚至可用的保留的实例。F1rstOffer美丽的最终结果是高可用性EC2,零数据丢失,80%降低成本节省他们大量的EC2比尔在过去3个月。
它是如何工作的?
之前创建一个集群Elasticsearch——这里有重要的事情需要考虑
- 复制因子——https://www.elastic.co/guide/en/elasticsearch/guide/current/replica-shards.html
- 碎片分配意识——https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-awareness.html
- 合格的现货数量类型(你选择Spotinst)
- 符合条件的可用性区域的数量
# 3 * # 4代表的总数量合格计算池(市场)Elastigroup可以旋转的实例。
- 最终的情况来设置
市场# = # elastic-search节点 - 复制因子应该等于每个市场的最大的节点数量在你elastigroup配置。
如果你想每个节点存储超过500 gb的数据,这是可以做到的,但更好的混合on-demand-spot集群上运行使用# 2(碎片意识)
在你Spotinst控制台:定义Elastigroup相关,(如大型实例类型。c3.8xlarge,r3.8xlarge等),类型,越多越好。——定义你想要的阿兹和再一次,人越多,越好玩。
Spotinst现在的算法将选择最耐用,不相关的市场(不同az,实例类型等),以确保数据的完整性和可持续性。
一个令人难以置信的经济Elasticsearch设置
如果你想对现货市场采取额外的预防措施失败,ElasticSearch有一个整洁的特性Shared-Allocation-Awareness。您可以启动位置和按需到Elasticsearch集群实例,给他们自己的rack_id(例如现货实例将被定义为rack-id = 1和按需rack_id = 2),副本分布位置和随需应变之间的关系。这将迫使复制存储至少一组完整的“按需”节点上的数据。
最后一个提示
我们建议安装科夫插件是一个伟大的工具来管理和执行操作弹性搜索集群。



