容器

Cloud Engine:大杀器如何炼成

可紊 提交于 2020-05-08 19:58:53
郑昀 创建于2016/6/18 最后更新于2016/6/19 点击查看我的《 如何从零搭建一个技术平台 》,这是一个系列。转载时请注明“转载自旁观者-博客园”或者给出本文的原始链接。 本文档适用人员:技术人员 何谓 ACP? 阿里协作平台 是也。 自动化测试、自动化构建、自动化运维、环境维护、资源申请和释放、虚拟机集群、容器集群……对于一支庞大的技术团队,这些名词术语意味着生产效率,意味着快速迭代,意味着研发、测试、运维 All in,当然也可能意味着混乱,有操不完的心,有维护不完的事,工程越多,并行项目越多,麻烦越大。 去年年底,我们的一支小分队与支付宝一起并肩作战了三个月,近距离观察了他们的研发协作和应用发布过程。回来后,志全、老白、明骏给大家分享了所见所闻,我们试图从中找到云纵研发协作和持续集成的未来之路。不久之后,田志全明确了切入方式,云纵 CloudEngine 开始开发。 我们先来看一眼 CloudEngine 的庐山真面目: 图0,云纵 CloudEngine 首页-管理员身份 下面先介绍一下蚂蚁金服的玩法。 蚂蚁金服的研发协作是怎么运转的 一套精密的体系 如下图1所示,我们可以把庞大的蚂蚁金服研发支撑体系浓缩为这四个平台: ACP,阿里协作平台 九州资源管控平台 AQC,蚂蚁质量基础设施平台 Zpass,蚂蚁集团发布部署平台 ACP 是总驱动方。九州,AQC

Spring是什么、spring容器、Spring三大核心思想DI(依赖注入)、IOC(控制反转)、AOP(面向切面编程)

走远了吗. 提交于 2020-04-08 06:59:19
1.Spring (1)Spring是什么? 是一个轻量级的、用来简化企业级应用开发的开发框架。 注: a.简化开发: Spring对常用的api做了简化,比如,使用Spring jdbc来访问数据库,就不用再考虑如何获取连接、关闭连接、处理异常等等。 b.解耦: Spring容器(Spring框架的一个模块)帮我们管理 对象(包括对象的创建及对象之间的依赖关系), 这样一来,对象之间的耦合度会大大降低,提供高了 系统的维护性。 c.集成其它框架: Spring可以将其它一些常用的框架集成进来,比如 可以将Quartz,MyBatis等集成进来。 (2)Spring容器 1)Spring容器是什么? Spring框架的一个核心模块,用于管理对象。 注: 管理对象指的是,spring容器会用我们创建对象, 并且建立对象之间的依赖关系。 2)如何启动Spring容器? step1.导包。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.8.RELEASE</version> </dependency> step2.添加配置文件(applicationContext.xml)。 将配置文件添加到main/resources下。

面向对象

本秂侑毒 提交于 2020-04-07 20:55:28
面向过程与面向对象的不同 面向过程: 核心是"过程"二字 扩展性不足 过程的终极奥义就是将程序流程化过程是"流水线",用 来分步骤解决问题的 面向对象: 核心是"对象"二字 对象的终极奥义就是将程序"整合" 对象是"容器",用来盛放数据与功能的 类也是"容器",该容器用来存放同类对象共有的数据与功能 来源: https://www.cnblogs.com/bailongcaptain/p/12655530.html

11. 盛最多水的容器

巧了我就是萌 提交于 2020-04-07 18:52:34
11. 盛最多水的容器 给你 n 个非负整数 a 1, a 2,..., a n,每个数代表坐标中的一个点 ( i , ai ) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 ( i , ai ) 和 ( i , 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 示例: 输入:[1,8,6,2,5,4,8,3,7] 输出:491、双指针 class Solution { public int maxArea(int[] height) { int leftM = height[0],rightM = height[height.length - 1]; int res =0; int l = 0,r = height.length - 1; while(l < r){ //记录可能出现的最大值 res = Math.max(res,(r - l) * Math.min(leftM,rightM)); //其中一个位置更新 if(leftM < rightM){ l++; leftM = height[l]; }else{ r--; rightM = height[r];

HTML5 Drag & Drop

烈酒焚心 提交于 2020-04-07 16:58:39
简介 HTML5 Drag & Drop 是一组定义拖放行为的API,如果你想开发在线Excel之类富交互的应用,它应该能帮你节省不少时间。 拖放过程由两个部分构成: 被拖拽的元素,之后简称为子项(item) 放置被拖拽元素的元素,之后简称为容器(container) 快速示例 一个将子项拖进容器的简单功能,CSS略过,以jQuery操作DOM: <div id="container"></div> <div id="item" draggable></div> $('#container').on('dragover', function(e){ e.preventDefault() }) $('#container').on('drop', function(e){ $('#item').appendTo(this) }) 首先在子项上添加 draggable 属性,表明元素可以被拖拽(发觉在Chrome中不加也可以。) 容器的 dragover 事件必须禁止默认事件,否则这个容器不允许放置子项。 容器的 drop 事件在子项放置到容器后触发。 可以看到,这组API只会提供简单的行为与事件接口,拖放后会发生什么,还是得由我们自己来实现。 事件 子项事件 dragstart - 拖拽开始 drag - 拖拽过程中不断触发 dragend - 拖拽结束,无论有没有拖进容器(

docker运行svn

廉价感情. 提交于 2020-04-07 15:56:02
docker运行svn 首先安装svn docker search svn docker images 查看安装的镜像 可知刚才的svn镜像安装成功 运行svn docker run --privileged=true --restart always --name svn-server -d -v /home/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server --privileged=true 授予容器管理员权限,预防创建svn创库时提示权限不足 --restart always 设置容器随宿主机开机自启 --name svn-server 设置容器name为svn-server -d 指定这个容器后台运行 -v /home/svn:/var/opt/svn 挂载宿主目录到容器目录 进入运行的svn容器,做一些配置工作 docker exec -it svn-server /bin/sh 或者直接进入宿主机中与容器中关联的目录也行 /home/svn 创建仓库 svnadmin create repo 在进入的容器中 使用此命令 创建成功后生成repo目录,进入该目录下的conf配置文件夹。有以下几个文件authz, passwd, svnserve.conf authz 是权限控制,可以设置哪些用户可以访问哪些目录,

从零开始入门 K8s | 理解 RuntimeClass 与使用多容器运行时

筅森魡賤 提交于 2020-04-07 13:25:44
作者 | 贾之光 阿里巴巴高级开发工程师 本文整理自《CNCF x Alibaba 云原生技术公开课》第 30 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词**“入门”**,即可下载从零入门 K8s 系列文章 PPT。 一、RuntimeClass 需求来源 容器运行时的演进过程 我们首先了解一下容器运行时的演进过程,整个过程大致分为三个阶段: 第一个阶段:2014 年 6 月 Kubernetes 正式开源,Docker 是当时唯一的、也是默认的容器运行时; 第二个阶段:Kubernetes v1.3 rkt 合入 Kubernetes 主干,成为了第二个容器运行时。 第三个阶段:Kubernetes v.15 与此同时,越来越多的容器运行时也想接入到 Kubernetes 中。如果还是按 rkt 和 Docker 一样内置支持的话,会给 Kubernetes 的代码维护和质量保障带来严重挑战。 社区也意识到了这一点,所以在 1.5 版本时推出了 CRI,它的全称是 Container Runtime Interface。这样做的好处是:实现了运行时和 Kubernetes 的解耦,社区不必再为各种运行时做适配工作,也不用担心运行时和 Kubernetes 迭代周期不一致所带来的版本维护问题。比较典型的,比如 containerd 中的 cri

Gartner 容器报告:阿里云与 AWS 并列第一,领先微软、谷歌

℡╲_俬逩灬. 提交于 2020-04-07 12:58:03
近日,国际知名调研机构 Gartner 发布 2020 年容器公有云竞争格局报告,阿里云再度成为国内唯一入选厂商。Gartner 报告显示,阿里云容器服务在中国市场表现强劲,产品形态丰富,在如 Serverless 容器、服务网格、安全沙箱容器、混合云和边缘等领域,具备良好的技术发展策略。 2020 年 3 月,Gartner 第二次公开《竞争格局:公共云容器服务》年度调研报告,报告针对 Serverless Kubernetes、服务网格、容器镜像等十项功能维度进行对比,阿里云和 AWS 覆盖九项产品能力,产品丰富度领先 Google、微软、IBM 和 Oracle 四家厂商。 阿里云连续两年入选 Gartner 容器报告,一方面是因为阿里云拥有全球第三的市场份额,另一方面是因为其已经拥有近十年的容器技术储备。 目前,阿里云容器服务(ACK)已在中国及海外 19 个公有云可用区开服,同时也支持客户在自有机房和边缘端的部署使用 Kubernetes。同时,阿里云还提供了丰富的差异化产品:兼容 Istio 的托管版服务网格、基于弹性容器实例的无服务器 Kubernetes(ASK)、提供镜像扫描的独享版容器镜像服务 (ACR)、基于轻量虚拟机技术的安全沙箱容器运行时和托管服务网格(ASM)等等。在此前的 Forrester 公共云容器服务评测中,阿里云作为 Strong

Docker容器之内网独立IP访问

风格不统一 提交于 2020-04-06 23:53:14
Docker容器之内网独立IP访问 实验介绍 今天在学习Docker容器的时候,在虚拟机中创建并开启了一个nginx的container,然后通过端口映射的方法,即将container的80端口映射到虚拟机的80端口,然后在宿主机上通过访问虚拟机的IP从而访问到Docker容器的Nginx服务。 然后开始思考,能否通过分配给container一个独立的IP,然后在宿主机上访问这个独立IP从而访问Nginx服务。通过各种探索,百度,最终实现,下面开始实验,这里用的是虚拟机的NAT模式。 实验图解 实验实施 安装docker服务 [root@promote ~]# yum install docker -y 关闭防火墙和SElinux [root@promote ~]# systemctl stop firewalld.service [root@promote ~]# setenforce 0 开启docker服务 [root@promote ~]# systemctl start docker.service [root@promote ~]# systemctl enable docker.service Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr

亲历者说:Kubernetes API 与 Operator,不为人知的开发者战争

你离开我真会死。 提交于 2020-04-06 22:03:32
原创作者:张磊、邓洪超 如果我问你,如何把一个 etcd 集群部署在 Google Cloud 或者阿里云上,你一定会不假思索的给出答案:当然是用 etcd Operator! 实际上,几乎在一夜之间,Kubernetes Operator 这个新生事物,就成了开发和部署分布式应用的一项事实标准。时至今日,无论是 etcd、TiDB、Redis,还是 Kafka、RocketMQ、Spark、TensorFlow,几乎每一个你能叫上名字来的分布式项目,都由官方维护着各自的 Kubernetes Operator。而 Operator 官方库里,也一直维护着一个知名分布式项目的 Operator 汇总。 https://github.com/operator-framework/awesome-operators 短短一年多时间,这个列表的长度已经增长了几十倍。 而且更有意思的是,如果你仔细翻阅这个 Operator 列表,你就不难发现这样一个有趣的事实:现今 Kubernetes Operator 的意义,恐怕已经远远超过了“分布式应用部署”的这个原始的范畴,而已然成为了容器化时代应用开发与发布的一个全新途径。所以,你才会在这个列表里看到,Android SDK 的开发者们,正在使用 Operator “一键”生成和更新 Android 开发环境;而 Linux 系统工程师们