关闭

Jenkins 2.x(Pipeline),SonarQube 和 Artifactory 搭建持续交付流水线

持续交付和 DevOps 是众所周知的,并在当今广泛传播的做法。人们普遍认为,组建优秀的团队,首先确定共同的目标,然后选择和整合最适合的工具是至关重要的。通常,这是一个轻量级工具的集合,集成在一起构建了持续交付流水线,并支持 DevOps。在本文中,我们放大了整个流程的一个重要部分,即通常被称为连续检查的部分,其中包括检查代码并注入质量关卡,并显示质量关卡之后如何上传符合要求的工件。包括 Jenk...
阅读(18) 评论(0)

每周运行30万个容器实例 - Netflix 的容器化实践

Netflix 是谁? Netflix 是欧美地区最大的网络视频提供商,超过了 Youtube。全球每天有超过190个国家,一亿多会员在 Netflix 上观看1.2亿小时的电影,电视剧和纪录片等等。Netflix 也制作了像纸牌屋这样广受欢迎的电视剧。 为了应对巨大的并发流量,Netflix 用了7年时间,网站架构从传统巨石应用演进成为业界超前的微服务...
阅读(127) 评论(0)

为什么我从 Git Flow 开发模式切换到了 Trunk Based 开发模式?

我已经使用 Git Flow 构建我的 Git 分支有几年了。但是,我遇到了 Git Flow 的一些问题,其中大部分来自长期存在的分支。解决这些问题的方案就是 Trunk Based Development。这是一个非常简单的技术,也是有效的持续交付的基础。在这篇文章中,我会告诉你我是如何通过 HolidayCheck 的 IOS 开发团队从 Git Flow 过度到 Trunk Based D...
阅读(49) 评论(0)

Docker 容器整合 Spring Boot 应用

在本文中,我们将重点介绍如何对 Spring Boot 应用程序进行 Docker 容器化以在独立的环境(即容器)中运行它。 此外,我们还会展示如何创建容器的集成,它们彼此依赖并在虚拟专用网络中彼此链接。我们还能看到如何通过单个命令进行统一管理。 那么我们先来创建一个运行在 Alpine Linux 的基于 Java 的轻量级基础映像。 基础镜像构建 我们将使用 Docker 独有的编译文...
阅读(73) 评论(0)

Netflix 微服务架构设计的经验总结!

迁移到微服务架构能够为公司的市场带来激动人心的机会,因为它为用户带来更加快速的新功能发布。你知道未来公司的成功取决于是否迁移到微服务架构,但你该如何去做呢? 幸运的是一些早期的微服务实践者已经慷慨的分享了他们在微服务方面的实践,以及贡献了源代码。Adrian Cockcroft – Netflix 的云架构师,他见证了 Netflix 从100人的传统应用研发团队,研发一个 DV...
阅读(103) 评论(0)

传统 Java 网站如何实现容器化?看看 Cars.com 如何玩转 Docker!

背景 Cars.com 是美国的汽车门户网站,为用户提供各种购车相关的信息和资讯,类似于国内的汽车之家。 他们之前的技术栈是比较传统的 Java Web 结构:Java 7,  Websphere/Weblogic, Oracle Linux, IBM 硬件,Oracle 数据库 。开发语言包含 Java,NodeJs,Go。随着网站宣传的投入,...
阅读(146) 评论(0)

Spring Cloud Netflix - Eureka 简介

在本教程中,我们将通过客户端服务来介绍“ Spring Cloud Netflix Eureka ” 。 Eureka 客户端服务允许服务在没有主机名和端口的情况下相互访问和通信。这种架构中唯一的“固定点”由每个服务必须注册的服务注册表组成。 缺点是所有客户端必须实现一定的逻辑来与此固定点进行交互。这将在实际请求之前先假设一段额外的网络延迟。...
阅读(28) 评论(0)

比较 Spring AOP 和 AspectJ

现如今有许多个可用的 AOP 库,使用这些库需要能够回答以下问题: 是否与现有的或新的应用程序兼容? 在哪里可以使用 AOP ? 如何迅速与应用程序集成? 性能开销是多少? 在本文中,我们将回答这些问题并介绍 Spring AOP 和 AspectJ ——两个最受欢迎的 AOP 框架。 AOP 概念 在我们开始之前,让我们对术语和核...
阅读(39) 评论(0)

实战C/C++ 的依赖管理工具 – Conan

在高级编程语言中,C/C++ 广受开发人员的亲睐,在语言排名上也名列前茅,生命力旺盛,而作为一个C/C++ 程序猿,随着开源模块(车轮)的不断创造,你在使用什么工具或方法管理你的依赖和模块化你的开发成果,创造属于你的世界车轮,你还在用 GIT/SVN 管理 C/C++ 的依赖吗?目前已经有爱立信等国际大公司大规模使用 Conan 做C++的包依赖的管理。今天跟大家一起实战 Conan 进行 C...
阅读(125) 评论(0)

微服务革命-如何打破传统应用的数据库?

福布斯报告曾经说过,“现在,每个公司都是软件公司”,软件正在改变我们的生活。而微服务目前是每个企业的正在转型,或者是将来转型的方向,但现有的工具在没有历史包袱的项目中可以轻松的应用,但是在传统巨石应用中使用起来,并没有那么容易。实现一个应用很容易,但是维护应用的状态缺很难,这里的状态指的是数据的持久化信息。Edson Yanaga, 红帽软件(Red Hat) 的 Developer Experi...
阅读(27) 评论(0)

开源数据库迁移工具 – Flyway

数据库变更过程中的问题 在软件开发迭代过程中,一般有两类变化,一是代码程序的变化,二是数据库(数据结构等)的变化,代码部分的变化我们通过二进制包的版本来定义每次的变化,我们可以快速了解到不同环境(开发、测试、生产等)的软件版本,并替换升级到最新版本,而不同于代码管理,数据库是有状态的,通常我们需要从某状态升级到最新版本,我们在上生产环境时常常会遇到在测试环境变更的脚本在生产环境未执行,甚至是...
阅读(58) 评论(0)

Netflix如何做构建和部署?

在代码部署到云端之前,Netflix 是如何做构建的?本篇文章将描述为 Netflix 服务8000万用户的微服务,是用什么工具和技术构建出来的。 上图描述了在 Netflix 的全球持续发布平台 Spinnaker 做发布之前,仍然有几个步骤需要执行,这些步骤就是将源码编译、构建、测试打包的过程,这些过程包括: ·   代码在本地用 Nebula...
阅读(74) 评论(0)

数据库版本化的最佳实践!

保持数据库脚本的可追溯性是非常困难的,数据库的 Schema 通常会在不同环境里出现不一致,导致上线部署失败,并且出现数据不一致的问题,甚至会出现在某些数据库里丢失某些核心数据的现象。 如果你是应用软件的开发者,情况会变得更糟,因为每个客户会有自己的数据库实例,不同的版本结构各不相同,在这样的项目里,保持客户的数据库的追溯性更加困难。 现在让我们来看看数据库版本...
阅读(105) 评论(0)

Puppet快速入门!

1 企业中管理环境的痛点 痛点1:在企业内部,部署4台服务器,每台服务器包含 JDk,Tomcat,AngularJs 等等看起来不是大问题,可以人工部署。但是,当需要部署同样的配置到100台服务器上,运维的同学该怎么办? 痛点2:设想公司需要升级某一个软件,例如 MongoDb,当升级完成之后发现有问题,需要回滚。如何做回...
阅读(221) 评论(0)

Spinnaker-Netflix 的持续交付平台

Netflix 是业界公认的 DevOps 最佳实践者。他们的技术博客(techblog.netflix.com)会经常更新他们内部DevOps 的最佳实践。硅谷的公司通常会把内部使用比较成功的项目共享出来成为开源项目,Netflix 也开源了他们的DevOps平台 – Spinnaker (www.spinnaker.io). 最近Netflix 的架构师 Glover 在 JFrog 总...
阅读(762) 评论(1)
22条 共2页1 2 下一页 尾页
    个人资料
    • 访问:3723次
    • 积分:211
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:1篇
    • 译文:3篇
    • 评论:1条
    最新评论