赞
踩
最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。
如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!
docker images
;最大的一个好处是:共享资源。
比如:有多个镜像都从相同的base镜像构建而来,那么宿主机只需在磁盘上保存一份base镜像,同时内存中也只需加载一份base镜像,就可以为所有容器服务了,而且镜像的每一层都可以被共享。
不会,在容器中修改已存在的文件时,Docker会从上往下依次在各镜像层中查找此文件,一旦找到,立即将其复制到容器层,然后修改它,这就是容器的copy-on-write特性;
所有对容器的改动,无论添加、删除、还是修改文件,都只会发生在容器层中,因为只有容器层是可写的,容器层下面的基础镜像都是只读的,容器层保存的是镜像变化的部分,不会对镜像本身进行任何修改。
(如果不同层中有一个相同路径的文件,那么上层的会覆盖下层的,也就是说用户只能访问到上层中的文件)。
当使用docker run来创建容器时,运行过程大概是:
数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于Linux下对目录进行的mount操作。
如果需要在容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。
容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息。
Docker与传统虚拟机的不同之处在于,虚拟机模拟了整个操作系统,而Docker只是模拟了容器。
这种容器化技术可以避免虚拟机的资源浪费和分布式环境下难以部署的问题,容器在系统层面上隔离,运行在同一系统内,但是不会干扰到其他容器和主机。
限制总并发数(⽐如:数据库连接池、线程池)
规则接口是IRule
漏桶算法思路很简单,请求先进入到漏桶里,漏桶以固定的速度出水,也就是处理请求,当水加的过快,则会直接溢出,也就是拒绝请求,因此漏桶算法能够限制请求调用的速率。
从某种意义上讲,令牌桶算法是对漏桶算法的一种改进,令牌桶算法能够限制请求调用的速率,同时还能防止一定程度的突发调用。在令牌桶算法中,存在一个桶,用来存放固定数量的令牌,以一定的速率往桶中放令牌,每次调用需要先获取令牌,只有拿到令牌,才有机会继续执行,否则只能进行等待或者直接拒绝。
如果桶中令牌数达到上限,就丢弃令牌,比如设置qps为100,那么限流器初始化完成后,桶中就已经有100个令牌了,等启动完成对外提供服务时,该限流器可以抵挡瞬时的100个请求,从而避免服务挂掉。
都已经看到这里啦,赶紧收藏起来,祝您工作顺心,生活愉快!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。