文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Elasticsearch集群多租户解决方案探索

2024-11-30 04:13

关注

概述

Elasticsearch是一款强大的实时搜索和分析引擎,设计用于处理海量数据。它采用分布式架构,能够轻松地扩展以应对大规模数据的需求。通过使用JSON格式存储数据,Elasticsearch提供了灵活性,同时具备强大的查询语言,能够支持全文搜索、范围查询和聚合操作。它在处理大规模数据方面也是非常出色,适用于各种实时应用,如监控日志、数据分析等业务场景。

单租户面临的问题

这里的租户特指访问集群的用户

单租户场景:所有访问者使用相同用户身份操作集群数据

多租户场景:不同用户有不同的用户角色(Role),不同用户对不同资源有不同权限

解决思路

对于上面的几个突出问题,我们可以通过一些规范+ES本身的能力,可以规避这些问题。

实践流程

创建账户及权限

用户名: 可以使用标识业务属性的名称。比如我们公司以{app_name}作为用户名称

Role:指定权限。可以控制到索引,支持正则。

过kibana创建Role,并分配权限。(inno_sweetfans_*,只允许访问inno_sweetfans开通的索引)。

创建User,关联Role。(User关联到Role之后,就获得了Role规定的权限)。

索引生命周期管理

如果业务索引数据量过大,有索引归档需求,比如按照天、周、月切分索引的,可以配置索引生命周期

配置步骤

具体流程

添加Index Lifecycle Policies策略,(Hot phase:多大开始切割;Delete phase:删除多久之前的)。

创建索引模版。(index_patterns写索引前缀来匹配索引)。

删除策略和索引模版关联。运用规则。

方案总结

我们借助ES的RBAC机制构建了一个具有权限控制、资源隔离的环境,解决了单租户模式下的诸多问题,运用了集群的生命周期管理补充了对索引的管理。这个demo只是多租户的一个引子,真实场景需要考虑到业务的复杂性和运维性。

扩展和思考

低于6.8版本的ES不支持权限控制和索引生命周期管理,如何破局?

通过权限控制虽然解决了资源的访问控制,但是资源抢占、业务优先级等问题依然存在?

ES运维过程中的问题?

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯