背景
为了配合公司产品K8S化,方便产品快速扩展以及部署,需要对当前的大数据组件进行相关的多租户以及资源隔离的配置,组件暂时包含但限于HBase、ElasticSearch、Kafka和Redis。
下面将从不同角度对上面提到的四个组件进行多租户以及资源隔离方案的描述,并根据需求选取效果明显且性价比高的方案进行适配与实现。
正文
目标
-
实现单集群支持多租户,租户之间相互不影响
-
能够快速方便的管理单租户的数据
-
对当前已经存在的产品代码和架构的侵入在可控范围之内尽量的小
方案
HBase
多租户
HBase多租户方案可以使用HBase的namespace来实现,单套威胁感知测试程序使用单独的namespace,由于namespace中资源是可以单独管理的,所以将单套威胁感知数据放入特定的namespace中便于后续该套威胁感知测试环境HBase资源的管理和回收
资源隔离
HBase的资源隔离包含RSGroup、Quota管理以及读写分离的相关配置。
其中RsGroup应用的场景是针对服务器资源异构的HBase集群,根据服务的重要程度或者业务特点将Region分组用来满足不同的需求
而读写分离以及读写控制则是针对大数据高并发下针对读写的特点进行请求数量的比例控制,保证不同场景的协同工作
上面两种场景明显不符合公司当前的需求,所以暂时不考虑。
而Quota管理可以针对namespace的资源分配来满足不同的测试产品的配额来满足资源管控的需求。主要的控制方法和维度如下:
| 配置的维度 | limit限制的类型 | 请求size还是请求次数 | 单位时间 |
|---|

本文探讨了在K8S环境中,如何针对HBase、ElasticSearch、Kafka和Redis实现多租户及资源隔离。HBase采用namespace进行租户隔离,Quota管理控制资源;ElasticSearch选择基于索引的多租户方案;Kafka使用不同topic组消费实现多租户,Quota和ACL进行资源隔离;Redis则建议使用多实例部署。总结提出,针对大数据组件,单独部署在物理机上可能更为高效,而K8S更适合应用管理。
最低0.47元/天 解锁文章
947

被折叠的 条评论
为什么被折叠?



