IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 云原生分布式数据库云平台技术选择 -> 正文阅读

[系统运维]云原生分布式数据库云平台技术选择

Part 1 - 云平台简介

浪潮云溪数据库云平台是由云溪数据库公司开发的针对特定的云溪数据库量身定做的数据库运维管理平台,其目的旨在于:提升用户对数据库部署操作的体验,为用户提供数据库原生自动部署、自动备份、自动容灾、数据恢复、监控、管理等全套解决方案。

浪潮云溪数据库云平台,通过运行提供的部署脚本,能够直接完成一键式部署。同时浪潮云溪数据库云平台提供了直观便捷的可视化界面,大部分的操作只需通过鼠标点击便可以完成,方便快捷,而且每个操作的结果可以通过界面的形式直观地展现在用户面前,让用户对自己的操作有实时的反馈;同时由于丰富的功能,该系统还适用于运维管理等专业人员,满足用户的专业人员查看、监测、部署、管理数据库的需求。

  • 技术:虚拟化技术,隔离资源

  • 趋势:内核技术保持稳定;分布式事务数据库建议支持基于多租户的资源隔离,以降低业务部署的风险和成本

  • 多租户目标:单个产品实例为多个用户提供服务,并且可按需使用资源,用户数据相互隔离

  • 发展过程:整合多个产品实例,统一运维;单产品实例为多个用户提供服务

Part 2 -?基本架构

Part 3 - 技术选择

目前解决分布式数据库的多租户隔离,有三种方案:物理隔离、虚拟机、容器。

1.物理隔离

即每个租户对应一组独立的服务器集群上,zcp管理多组服务器集群;用多组服务器来解决分布式数据库多租户隔离面临着比较严重的问题,多组服务器部署多租户最终问题就是实用性差,会造成服务器资源的浪费,部署起来也不是十分方便。所以首先排除物理隔离的方案。

2.虚拟机与容器

虚拟机就是带环境安装的一种解决方案,他可以在一种操作系统里面运行另一种操作系统,比如在Windows系统里面运行Linux系统,应用程序对此毫无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。

虽然用户可以通过虚拟机还原软件的原始环境。但是如下缺点:

  • 资源占用多:虚拟机会独占一部分内存和硬盘空间。他运行的时候,其他程序就不能使用这些资源了。哪怕虚拟机里面的应用程序,真正使用的内存只有1MB,虚拟机却需要几百MB的内存才能运行。一个系统一般只支持几十个虚拟机。

  • 冗余步骤多:虚拟机是完整的操作系统,一些系统级别的操作步骤,往往无法跳过,比如用户登陆。

  • 启动慢:启动系统需要多久,启动虚拟机就需要多久。可能要等几分钟,应用程序才能真正运行。?

而相较于虚拟机,容器则具有着如下显著优点:

  • 启动快:容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以,启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。

  • 资源占用少:容器只占用需要的资源,不占用那些没有用到的资源;虚拟机由于是完整的操作系统,不可避免要占用所有资源。另外,多个容器可以共享资源,虚拟机都是独享资源。一个单机上支持上千个容器。

  • 体积小:容器只要包含用到的组件即可,而虚拟机是整个操作系统的打包,所以容器文件比虚拟机文件要小很多。

3.Docker与Kubernetes

Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除LXC,转而使用自行开发的 libcontainer,从1.11 开始,则进一步演进为使用 runC 和containerd。Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大地简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。

对于实现数据库多租户隔离,docker需要添加一种定义用户的方法,并将它们放在只允许对特定容器和卷进行操作的命名空间中,并限制允许突破容器的选项,如更改功能或任意安装来自主机的文件系统,Docker的企业产品UCP确实开始通过在对象上使用标签来添加这些功能,但目前来说docker实现多租户的方案还并不完善,而且可能需要通过改造底层代码去实现多租户的一个支持。

而k8s提供了 namespace 作为基础的资源隔离单位,还提供了基于 RBAC 的权限管理方式来实现多租户之间的隔离。

Docker

Kubernetes

Part 4 - 云溪数据库云平台的使用

1.概念介绍

2.基本流程

3.功能介绍

(1) 创建集群:

(2) 创建租户:

(3) 租户详情:

(4) 租户修改:

(5) 备份恢复:

(6) 性能趋势:

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 23:07:00  更:2022-04-07 23:07:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:45:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码