加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

京东数据库智能运维平台建设之路

发布时间:2018-08-28 06:20:43 所属栏目:MySql教程 来源:京东商城技术架构
导读:运维自动化来源于工作中的痛点,京东数据库团队面对的是商城成千上万的研发工程师,这种压力推动我们不断变革,然而变革不是一蹴而就,也经历过从手工到脚本化、自动化、平台化、智能化的艰难转变,所以说是需求在驱动运维体系的建设,而运维自动化的真谛

基于以上的问题,单纯的数据库服务容器化已经无法解决,我们需要让数据库服务更聪明,让数据库的资源能够动起来,提供资源分期交付的功能,于是ContainerDB应运而生。ContainerDB基于负载的弹性调度为京东的数据库资源赋予了智慧,令其资源真正地流动起来,并已成功服务于多次618和11.11大促。

京东数据库智能运维平台建设之路

ContainerDB针对每个业务应用都有逻辑库,逻辑库中定义了针对整个业务所有表的拆分键(Sharding Key)进行哈希取模运算时模的范围(KeySpace),在每个逻辑库中可以创建多张表,但是每个表中必须定义Sharding Key。通过该Sharding Key将表中的数据拆分成多个分片(Shard),每个分片都对应一个KeyRange,KeyRange表示对Sharding Key进行哈希取模运算之后得到的值(Sharding Index)的一个范围,每个Shard都由一整套MySQL主从架构提供数据库服务支撑。应用程序只跟Gate集群进行交互,由Gate根据元数据信息和SQL语句完成数据写入和查询的自动路由。ContainerDB中的监控中心会对所有的基础服务和资源使用状况进行实时监控,并通过在监控中心注册的Hook程序自动进行动态扩容、故障自愈、分片管理等,而这一系列操作对应用程序来说是完全无感知的。

(1)流式资源持续交付

京东数据库智能运维平台建设之路

数据库以前的服务存在资源浪费的一个主要原因就是资源初始分配粒度太大,一开始就为业务提前预支3年甚至5年的资源。而资源池中的资源是有限的,不可能让所有业务都提前预支资源,从而导致有些业务没有资源。ContainerDB采用流式的方式进行资源的持续交付。每个业务接入初始都只会分配标准的64G硬盘,随着业务的发展和数据量的持续增加,会持续增加硬盘容量直到到达硬盘限制的上限256G。

京东数据库智能运维平台建设之路

通过这种方式,我们极大地拉长了数据库资源的交付周期,进而可以在三年或者五年的所有资源预算到位之前就首先为所有服务提供数据库服务,提升了数据库的业务支撑能力。

(2)基于负载的弹性调度

数据库服务使用的资源分为两类:瞬时资源和递增资源。

瞬时资源是指会资源的使用率在短时间之内会出现严重波动,这种资源主要包括CPU和内存。

(编辑:辽源站长网)

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

推荐文章
    热点阅读