1. 引言 DevOps的核心魅力是快速的持续集成交付,降低研发和实施运维之间的交互,使得传统的各种扯皮现象统统消失.最重要的是降低成本 保障产品交付可靠性. 使用Rancher作为持续集成的关键环节,统一结连微服务和云计算,使得产品从研发到上线流水线操作,提高生产效率,此处我写的是微服务 而不是传统的程序,是因为微服务(架构的产品)和容器服务,云计算是完美结合的三大核心模块,也是互联网下一代核心技术DevOps的3个 核心支柱.而传统程序,由于在微服务架构方面转型较慢或者生态链较弱,无法完美进…
为什么说是下一代核心技术 其实经过互联网的多次变革说起,早期的C/S架构,到后来的B/S架构,一直到现在最普遍的M/S架构,他们的背后都是技术不断的优化改进,以适应促进IT技术的发展 整体而言在过去10年时间,互联网技术可以说是以手工制造的方式为准,类似于传统销售,设计,制作,然后打包销售.每个环节都需要大量的人员来操作,也需要不断 有人接班学习来延续对应的环节.而未来10年将会是以流水线的方式为主 ,其主要原因是互联网云计算技术的高速发展及可持续快速交付的业务需求.其对应的DevOps 方式将…
1.环境选择 安装Rancher环境,一定要在干净的linux主机上进行,避免出现因配置导致的莫名其妙的问题.服务器操作系统建议CentOS7.4(内核3.10以上)低于这个版本的系统 如7.3 7.2会报一 个小bug,不过倒不影响使用,再低内核的版本就不要用了,很多都不支持 生产环境建议采用阿里云  Rancher(1C 2G以上的配置,若要保证运行稳定,建议配置至少2C 4G), 宿主机(1C 2G以上的配置).弹性公网EIP+ 专有网络测试, 私有环境建议采用Rancher(1C 2G以…
1. 前言 为什么要使用集中存储? 使用集中存储有个很大的优势是数据安全和统一管理,和集群完美配合. 产品集成存储经历过几个阶段: 1.单机本机存储. 系统使用本地硬盘存储 2.单网络集中存储. 局域网主机使用同一网络内的磁盘阵列存储单元 3.分布式集群本地存储. 集群节点使用自己本地硬盘存储. 4.分布式集群集中存储.集群节点使用集中存储(其背后可以是单一存储也可以是分布式存储,集中存储相当于一个代理入口) 其中云计算用的最多的是 3,4 这几个.主要适应于网络架构的分布式设计和基本云计算存储…
1. 前言 使用Jenkins比较好的就是可以在整个构建顺序中增加自定义的动作,比如构建成功给Leader发个邮件,给团队核心发个微信什么的. 当然最基本的核心还是它可以构建多种开发语言的项目,此类构建程序还有很多,大家可以选择使用,没有最好的,只有最适合自己的. 2.安装使用 可以从Docker里起个Jenkins镜像,也可以使用Rancher的插件,还可以自己单独搭建,看自己实际使用环境来选择吧.这次我们来 薅阿里的羊毛,采用阿里云已有的Jenkins服务来使用,原因嘛,给企业省成本,给自己…
1.使用阿里云镜像库有很多优点 稳定可靠,阿里技术,放心使用. 国内cdn多节点加速,下载速度非常快 可以和阿里云Git代码集成,不需要第三方CI工具,当然带的自动构建服务也可以和其他的Git库集成,非常方便 国内专属加速器,一个人的专属通道,国外需要FQ下载的镜像,在这里统统可以搞定 阿里云端构建,不需要占用本地资源.全球网络直达,有墙?不存在的,可以 直接选海外机构建 免费~!免费~!免费~! 不限空间~!不限空间~!不限空间~! 2. 注册使用 打开  https://dev.aliyun…
1. 引言 使用DevOps肯定离不开和代码的集成.所以要想跑通整套流程,代码库的选型也是非常重要的.否则无法实现持续集成.目前比较常用的代码管理有SVN和GIt 如果还使用SVN的,建议尽早迁移到Git上面,不然很费劲的.尤其是webhook,很多svn软件都不支持. 2. Git选型 可以采用公网的GitHub,这是用的最多的,但是免费账号还是缺少很多功能,收费版吧,挺全的,不过大部分人,公司都不愿意掏钱. 呵呵呵. 免费的就自己架设吧.Gitlab CE和Bitbucket 都可以.当然这…
谷歌三大核心技术(二)Google MapReduce中文版  Google MapReduce中文版     译者: alex   摘要 MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现.用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合:然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值.现实世界中有很多满足上述处理模型的例子,本论文将详细描述这个…
  Google MapReduce中文版     译者: alex   摘要 MapReduce 是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现.用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合:然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值.现实世界中有很多满足上述处理模型的例子, 本论文将详细描述这个模型.   MapReduce架构的程序能够在大量的 普…
AIOps是一个总称,用于指代使用复杂的基础设施管理软件和云解决方案监控工具来实现自动化数据分析和日常的DevOps操作. 那些10年前甚至是5年前构建的系统监控工具的主要缺陷是它们不是为了满足大数据时代的需求而构建的.它们既不能处理数量庞大的输入数据,也不能处理种类繁多的数据类型,更加不能与输入数据的速度保持一致.根据以往的经验,这样的云监控解决方案必须将数据分块,将看似重要的内容进行分离,并切断看似不需要的内容,最后使用焦点组和统计样本进行操作,而不是处理整个完整的数据. 这样做的结果是,在…
上一篇文章中我们提到了azure为我们提供了可自定的web hook,于是我打算实践一下 我假设了一种场景就是,我希望我可以及时收到团队中所有开发人员的代码提交记录,于是乎我想通过web hook打通钉钉的通知,每次有人提交代码的时候钉钉都会发一条消息到开发人员的群里,让大家都知道,谁刚刚提交了代码.(比如在座的各位卷王,希望我周六日提交了代码可以及时被领导看见-) 首先,我们要先在钉钉新建一个通知机器人用来发送通知. 打开钉钉的一个群聊,在管理选项中选择群助手,创建一个自定义机器人 然后我们需…
本文将继续前文,描述Spring IoC中的依赖处理. 依赖 一般情况下企业应用不会只有一个对象(或者是Spring Bean).甚至最简单的应用都要多个对象来协同工作来让终端用户看到一个完整的应用的.下一部分将解释开发者如何从仅仅定义单独的Bean,到让这些Bean在一个应用中协同工作. 依赖注入 依赖注入是一个让对象只通过构造参数,工厂方法的参数或者配置的属性来定义他们的依赖的过程.这些依赖也是对象所需要协同工作的对象.容器会在创建Bean的时候注入这些依赖.整个过程完全反转了由Bean自己…
1.方法内部的私有变量是线程安全的,实例变量是线程不安全的. 2.A线程先持有object对象的lock锁,B线程可以以异步的方式调用object对象中的非synchronized类型的方法. 3.A线程先持有object对象的lock锁,B线程如果调用object对象中的synchronized类型的方法,则需要等待,也就是同步. 4.脏读:在多线程中,发生脏读的情况是在读取实例变量时,此值已经被其它线程修改过. 5.锁重入:在使用synchronized时,当一个线程得到一个对象锁后,再次请…
Jenkins官网 https://jenkins.io/download/ centos 7安装Docker https://www.cnblogs.com/stulzq/p/7743073.html centos 7 通过Docker 安装Jenkins https://www.cnblogs.com/stulzq/p/8627360.html 在CentOS 7系统下升级 Jenkins版本 https://blog.51cto.com/13760351/2377214?source=dr…
本文从基本概念.基本CRUD操作.倒排索引原理.分词等部分来初识Elasticsearch. 2.1 基本概念 Elasticsearch是面向文档(Document)的,文档是所有可搜索数据的最小单位:文档会被序列化成Json格式,保存在Elasticsearch中,并且每个文档都有一个唯一ID,可以通过Elasticsearch自动生成,也可以自己进行指定.对比MySQL,每行数据都有一个主键,这个主键可以使用MySQL自增主键,也可以通过雪花算法等方式生成然后进行自己设置. 文档的元数据,…
#载入类文件 include 'phpqrcode.php'; $value = '二维码内容'; $errorCorrectionLevel = 'L';//容错级别 L.M.Q.H $matrixPointSize = 6; //生成图片大小 (1-10) #生成二维码图片 QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = 'logo.png'; //二维码中间logo…
自我学习:一.线程安全日期格式化操作的几种方式:1.每次new一个新对象:public static Date parse(String date) throws ParseException { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);} 2.通过ThreadLocal进行处理private static final ThreadLocal<DateFormat> LOCAL_DATE_…
废话:和上一次的文章确实隔了太久,希望趁暑期打酱油的时间,将之前学习的东西深入理解一下,同时尝试用Python写相关的机器学习代码. 一 PGM模型的分类 通过上一篇文章的介绍,相信大家对PGM的定义和大致应用场景有了粗略的了解.那么接下来我们来深入了解下PGM. 首先要介绍的是Probabilistic models(概率模型),常用来描述不同的随机变量之前的关系,主要针对变量或变量间的相互不确定性的概率关系建模.总的来说,概率模型分为两类: 一类是参数模型-可以用有限个参数进行准确定义 参数…
一.简介 二维码QR Code(Quick Response Code)是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防伪性强等优点. 二维码QR Code呈正方形,常见的是黑白两色.在3个角落,印有较小,像”回”字的的正方图案.这3个是帮助解码软件定位的图案,用户不需要对准,无论以任何角度扫描,数据仍可正确被读取. 由于QR Code码用特定的数据压缩模式表示汉字,它仅用13 bit可表示…
一.简介 Data Matrix 二维条码原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于1989年发明.Data-Matrix二维条码是一种矩阵式二维条码. Data Matrix符号由规则排列的深浅色正方形模块构成,每个正方形模块就是一个基本单元,每个基本单元又被编码为一比特的数据.数据区的四周是探测图形,用于条码符号定位和确定条码结构信息.探测图形的四周是空白区,用以将条码符号与背景分离. 探测图形是一个模块的宽度,…
第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示例中有的是我们后续库的基础工具,也有的是在项目中非常实用的小工具,还有一些示例是实践了在框架搭建方向上非常重要的 C# 语法知识. 第二章大纲如下. 第八个示例(一) 在之前,我们完成了一个导出的功能.但是在完成这个功能的过程中,我们也遇到了一些问题.我们回忆一下,在<MenuItem 复用>的这…
一.IOC(控制反转) 定义:反转控制 (Inversion Of Control)的缩写,即创建对象的反转控制. 正向控制:若要使用某个对象,需要自己去负责对象的创建. 反向控制:若要使用某个对象,只需要从 Spring 容器中获取需要使用的对象,不关心对象的创建过程,也就是把创建对象的控制权反转给了Spring框架. 例子:在现实生活中,人们要用到一样东西的时候,第一反应就是去找到这件东西,比如想喝新鲜橙汁,在没有饮品店的日子里,最直观的做法就是:买果汁机.买橙子,然后准备开水. 值得注意的…
1.文档.集合和数据库 a).文档:因为MongoDB是面向文档的数据库,那么可想而知文档是它的基本单元,相当于关系型数据库中的行! Ⅰ.它是由键值对组成的一个有序集:注:键不能为空且是字符串类型的. Ⅱ.它不仅区分大小写,而且还区分数据类型: Ⅲ..和$符号具有特殊意义,需要在特定环境中使用: b).集合:同样的,多个文档汇聚在一起就是一个集合,但是这些文档可以是不同的结构模式,组合在一起就相当于关系型数据库中的表! Ⅰ.同样命名不能为空,不能以system开头,且不能使用保留字符$: Ⅱ.动…
Azure fundamentals - Core Cloud Services - Introduction to Azure Learn what Microsoft Azure is and how it relates to cloud computing 了解什么是Azure以及Azure如何与云计算关联 Use Azure Cloud Shell to launch a Windows or Linux virtual machine  使用Azure Cloud Shell 启动W…
USB接口分为USB A型.USB B型.USBmini型.USBmicro型.USB3.0其中每种都有相应的插座和插头. 图1 图2 上图是USBA型接口,图1为插座,图2为插头.插座指向下行方向,插头指向上行方向. USB中一般常用有4根线,两边两根线一般为VBUS(5V的接入或接出线,对应上图中的1引脚)和GND(对应上图中的4引脚).中间两根为D+(对应上图中的3引脚),D-(对应上图中的2引脚),还有外加一个屏蔽层. 图3 图4 USB B型所对应的各信号和USB A型一致.在各种开发…
IoC容器和Bean简介 这章包括了Spring框架对于IoC规则的实现.Ioc也同DI(依赖注入).而对象是通过构造函数,工厂方法,或者一些Set方法来定义对象之间的依赖的.容器在创建这些Bean对象的时候同时就会注入这些依赖.这个过程是根本上的反转了,不再由Bean本身来控制实例化和定位依赖,而是通过服务定位来控制这个过程,也是IoC(控制反转)的由来. org.springframework.beans和org.springframework.context包是Spring框架IoC容器的…
locust官网:https://locust.io/ locust安装(不支持python3.7):pip install locustio   或者pycharm安装 官网给出的样例 根据官网代码新建一个脚本 from locust import HttpLocust, TaskSet, task class WebsiteTasks(TaskSet): @task(weight=2) # weight:发压的比例,可以不设置 def index(self): self.client.get…
来自用户的DevOps实践分享,分享从开发代码到生产环境部署的一条龙操作的实践及经验, 包含工具技术的选型及考量.私有代码库与私有镜像库的应用等. (一)容器服务的Rancher选型 1.为什么说是下一代核心技术 从互联网的多次变革说起,早期的C/S架构,到后来的B/S架构,一直到现在最普遍的M/S架构,他们的背后都是技术不断的优化改进,以适应.促进IT技术的发展整.体而言在过去10年间,互联网技术可以说是以手工制造的方式为主,类似于传统销售.设计.制作.然后打包销售.每个环节都需要大量的人员来…
下载:IBM® Rational® AppScan 标准版  |   Web 应用安全与 IBM Rational AppScan 工具包 获取免费的 Rational 软件工具包系列,下载更多的 Rational 软件试用版. 一. 前言 随着信息技术的高速发展,特别是 Internet 技术的飞速发展,越来越来和企业商业行为以及和我们日常生活工作相关的应用服务都需要依赖 Internet 这个信息平台来开展业务.我们在享受方便.快捷的信息化服务的同时,也面临着信息安全问题给我们带来的影响甚至…
本文转自:https://blog.csdn.net/wangshouhan/article/details/80405672 一.Docker1.CentOS下Docker安装 安装 $ yum -y install docker-io 查看docker版本 $ docker version 启动docker $ service docker start以上都没问题表示docker安装成功. 2.docker基础命令 #查看docker版本$ docker version# 检索image $…