当前课程知识点:大数据平台核心技术 > 第三讲 资源管理与任务调度 > 安全域性能隔离 > 安全域性能隔离(主讲人:陶阳宇)
接下来给大家分享一个
关于安全和性能隔离的
一些技术考虑
大家知道在分布式系统当中
通常有多个用户
在执行自己的计算任务
如何做到多个任务之间
互相隔离开
互相不影响
这是安全与隔离
需要考虑的问题
飞天伏羲实现了
全链路的访问控制
有两种访问控制
来进行安全的验证
一种称之为Capability
它是指通信的双方
基于私钥进行解密的
并验证的一种方式
还有一种称为Token的方式
Token的方式
需要通信的双方临时生成
基于私钥加密的口令
在通信时进行验证
两种方式最大的区别在于
口令生成的时机
Capability方式在
是在通信之前就已经加密好
而Token是需要在
通信时临时生成
两种方式使用于不同的场景
在这个图中可以
简单给大家介绍一下
FuxiMaster与Tubo通信
采用的就是Capability
因为这两个角色
在集群部署时就已经启动了
可以事先进行加密生成好
Capability
而APP与FuxiMaster
进行通信时
当每个任务
执行完计算之后会退出
所以当用户提交任务的时候
才会临时的生成
基于私钥加密的口令
因此FuxiMaster与APP之间
是采用Token的方式
进行验证的
在进程与进程之间
伏羲采用了沙箱的方式
将不同的进程进行隔离开
互相不干扰
除了安全的隔离之外
我们还需要考虑性能的隔离
比如如果某个进程
特别的吃CPU
那么他有可能会影响
这个机器上所有其他的进程
那如何进行进程之间的隔离
使他们之间互相不影响呢
目前伏羲采用的
几种技术手段
第一个是Cgroup
这个采用的是
Linux container(02:33)的方式
第二种是采用目前
业界很流行的
Docker container
这种容器技术
下面我会简单的给同学们
介绍一下这几种
技术之间的差异
首先有三种技术可以
供我们选择
隔离性最好的
我们称之为虚拟机
比如像KVM
或者是Xen虚拟机
最底下的是基于Cgroup的
Linux容器技术
中间Docker是最近
发展起来的一种轻量级的
虚拟机技术
那我们可以从四个维度
来比较这三种技术
它们依次是隔离性
资源配额与度量
移动性和安全性
虚拟机大家知道
属于隔离性非常好的一种
因为它是以虚拟机方式运行
在宿主机器上
会运行一种客户OS
而Docker则是基于
LXC加上一些虚拟化的技术
所以它的隔离性会介于
虚拟机与LXC之间
LXC是基于
Kernel namespace
来实现的一种container技术
它的隔离性相对较弱
而在资源配额与度量方面
虚拟机完全采用
虚拟化的技术
可以虚拟化出CPU Memory
等资源维度
所以它的配额比较好控制
也比较好度量
而Docker以及LXC
全部基于Cgroup
它们的资源配额
和度量性能相当
在移动性方面
虚拟机采用的是Image和
snapshot管理
所以它能够容忍异构机器
移动性比较好
而Docker也采了
Image的技术
它可以自包含
所需要的动态库
而不依赖于Linux环境
LXC的移动性相对最弱
它依赖于机器的配置
如Kernel的版本等等
在安全性方面虚拟机的
安全性最高
不同的进程完全是在
虚拟机的环境中运行
而Docker则是基于
namespace与LXC类似
安全性一般
伏羲今天采用的隔离技术
会基于Docker和LXC
混合部署的方式
为什么没有采用虚拟机的方式
虚拟机最大的一个问题
在于它的性能损耗太多
当我运行计算任务时
如果完全放在虚拟机当中
它的IO以及CPU
时间片会受到很大的影响
会降低任务的执行效率
在目前阿里的生产环境中
我们实践发现基于Docker
和LXC的隔离技术
已经可以很好的
满足我们的需求
那么以上是给同学们
分享的关于
安全和性能隔离的
-主讲人:武永卫
-主讲人:程永
-QUIZ--作业
-大纲
-初步认识大数据对分布式存储系统的需求
-理解大数据对分布式存储系统的需求
-具体说明大数据对分布式存储系统的需求
-大规模分布式存储的挑战
-小概率事件-Raid卡故障
-分布式存储系统举例
-分布式存储系统重要功能设计要点剖析
-链式写正常流程
-写流程的另一种常见方式:主从模式
-链式写异常流程
-写异常处理的另一种方法-Seal and New
--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)
-读正常流程
-读流程优化-BackupRead
-IO QoS
-数据正确性:checksum
-数据可靠性-Replication
-数据均衡-Rebalance
-垃圾回收-Garbage collection
--垃圾回收-Garbage collection(主讲人:姚文辉)
-Erasure coding
-Erasure coding(3,2)写入和读取过程
--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)
-元数据管理的高可用性和可扩展性
-元数据管理的高可用性
-Paxos概要
-Raft
-元数据管理的可扩展性
-不同存储介质的特性
-盘古混合存储
-QUIZ--作业
-阿里云飞天分布式调度
-任务调度
-资源调度
-容错机制
-规模挑战
-安全域性能隔离
-分布式调度的发展方向
-QUIZ--作业
-数据格式和抽象
-分布式编程模型
-MapReuduce编程模型
-关系型数据编程模型
-分布式图计算模型
-分布式编程未来展望
-QUIZ--作业
-分布式事务
-分布式一致性算法
-两阶段提交与三阶段提交
-实践--介绍
-关系型计算基本原理_1
-关系型计算基本原理_2
-分布式环境中的连接计算和聚合计算
-其他计算和物理优化
-QUIZ--作业
-提纲
-课程背景介绍
-前序知识
-分布式节点距离计算法则
-数据分布策略
-分布式计算调度
-数据就近原则计算如何容错
-ODPS跨集群数据依赖
-QUIZ--作业
-主讲人:谢德军
--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)
-增量计算和流式计算
-与批量计算的区别
-业界典型系统技术概要分析
-核心技术
-消息机制
-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制
--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)
-StreamSQL
-QUIZ--作业
-软硬件趋势、分布式计算简史与内存计算
-分布式计算
-内存计算
-统一的计算框架
-业界经典系统技术分析-spark&flink
--业界经典系统技术分析-spark&flink(主讲人:强琦)
-QUIZ--作业
-主讲人:褚葳
-QUIZ--作业
-分布式环境下的新问题
-工程实现范例
-课程设计相关问题