作者:知乎令孤无忌 前言 知乎在 2016 年已经完成了全量业务的容器化,并在自研容器平台上以原生镜像的方式部署和运行,并在后续陆续实施了 CI.Cron.Kafka.HAProxy.HBase.Twemproxy 等系列核心服务和基础组件的容器化.知乎既是容器技术的重度依赖者,也是容器技术的深度实践者,我们会陆续把容器技术的实践经验通过专栏和大家进行分享,本篇文章来分享知乎在镜像仓库这个容器技术核心组件的生产实践. 基础背景 容器的核心理念在于通过镜像将运行环境打包,实现“一次构建,处处运行”…
前文我们聊到了docker的私有镜像仓库docker-distribution的搭建和简单的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13058338.html:从前文的搭建和使用过程来看,docker-distribution搭建的仓库非常简陋,它甚至连一个用户认证都没有,更别提多用户:今天我们来介绍另外一款docker仓库工具harbor:harbor这款工具相对docker-distribution来讲功能上丰富了许多:它支持多租户,可扩展…
配置 修改maven根目录下的conf文件夹中的setting.xml文件. 阿里云 <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf&…
在前边的博客中我们说到docker的架构由docker客户端.服务端以及仓库组成:docker仓库就是用来存放镜像的地方:其实docker registry我们理解为存放docker镜像仓库的仓库比较准确吧:因为docker的镜像仓库通常是把同一类的镜像用不同的版本来区别,而registry则是用来存放这些仓库的仓库:默认安装docker都是从dockerhub镜像仓库下载镜像:其实在生产环境中,我们很少去公有仓库上下载镜像,原因之一是公有仓库中的镜像在生产环境中使用,有些不适配,通常我们是去公…
原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/spark/ci_cd/ 本文所述内容基于某顶级互联网公司数万节点下 Spark 的 CI 与 CD & CD 实践.为了提高本文内容的可借鉴性,隐去了公司特有内容,只保留通用部分 Spark CI 持续集成实践 CI 介绍 持续集成是指,及时地将最新开发的且经过测试的代码集成到主干分支中. 持续集成的优点 快速发现错误 每次更新都及时集成到主干分支中,并进行测试,可以快…
知乎千万级高性能长连接网关揭秘 9 天前 · 来自专栏 知乎技术专栏 实时的响应总是让人兴奋的,就如你在微信里看到对方正在输入,如你在王者峡谷里一呼百应,如你们在直播弹幕里不约而同的 666,它们的背后都离不开长连接技术的加持. 每个互联网公司里几乎都有一套长连接系统,它们被应用在消息提醒.即时通讯.推送.直播弹幕.游戏.共享定位.股票行情等等场景.而当公司发展到一定规模,业务场景变得更复杂后,更有可能是多个业务都需要同时使用长连接系统. 业务间分开设计长连接会导致研发和维护成本陡增.浪费基础设…
目标:从docker容器里dump java堆 模拟程序 占用空间500M, 设置启动JVM参数 docker启动命令 (PS:经过测试,至少要650M才能启动容器) 方式1: 通过docker exec 先通过 docker exec $containerid ps x 获取进程号 执行 docker exec 此命令实际就是进入docker容器里执行/jdk/bin/jmap dump ,导出的文件也是存放在容器里 经过多次实验,基本上每次都触发容器killed 方式2,: 通过nsente…
一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目录下创建一个Dockerfile sudo touch Dockerfile 4.为了在jenkins容器中具有执行sudo命令的权限,在Dockerfile添加如下内容: FROM jenkinsUSER rootRUN apt-get update && apt-get install -…
当父级容器内的子元素width设为100%,而子元素又有绝对定位时,子元素伸展超出父级容器,像下面 出现这种情况的原因,width:100%,这个百分之百是相对其定位父级而言的,其定位父级有多宽,这个子元素就有多宽,所以子元素跑到了父级容器外 html <div class="container"> <div class="content">好的</div> </div> css .container { positi…
一.需求分析 最近接到一个需求,导入十万级,甚至可能百万数据量的记录了车辆黑名单的Excel文件,借此机会分析下编码过程; 首先将这个需求拆解,发现有三个比较复杂的问题: 问题一:Excel文件导入后首先要被解析为存放对象的列表,数据量大的情况下可能会导致内存溢出,解析时间过长; 问题二:插入数据库的时候,数据量大,写入的时间长 问题三:要对数据库中的现有数据进项判断,不仅仅要做插入动作,还要将数据库的数据与导入的数据对比,判断是否做更新操作 其中: 问题一和问题三,可以看做同一类,因为主要涉及…