14-scale is not infinite(扩展不是无限的)

14-scale is not infinite(扩展不是无限的)

虽然这这整个章节都在说scale的方法,但多数的scale问题都可以通过加入多个node解决,但是有个资源是非常有限的,必须慎重考虑:the cluster state

the cluster state 是一个数据结构,保存了如下信息:

集群的设置信息

每个node的信息

indices,mappings analyzer warmers aliases

集群与每个node 联系的信息等

你可以通过语句获取信息

GET /_cluster/state

cluster state存在在每个node中,这就是为啥每个node都可以接收数据请求而且明白所有node信息的原因。

但仅仅master能更新cluster state,每个节点上的cluster state都存在在这个节点的内存中,当更新的时候必须同步到所有node中,这个过程可是非常大的。

有的case中field是动态添加非常多的,例如下面这种情况

POST /counters/pageview/home_page/_update

{

  "script": "ctx._source[referer]++",

  "params": {

    "referer": "http://www.foo.com/links?bar=baz"

  }

}

这是非常糟糕的,建议改为下面这种

    "counters": [

      { "referer": "http://www.foo.com/links?bar=baz",  "count": 2 },

      { "referer": "http://www.linkbait.com/article_3", "count": 10 },

      ...

    ]


一个shard不能太大,如果过大就需要考虑重新设计了,考虑采用 tribe nodes,可以通过多个cluster进行搜索


https://www.elastic.co/guide/en/elasticsearch/guide/current/finite-scale.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值