Fork me on GitHub
Suzf  Blog

How-to Configure Consul in a Production Environment on Ubuntu

什么是 Consul?
Consul有多个组件,但作为一个整体,它是用于发现和配置基础架构中的服务的工具。它提供几个关键特性:
服务发现:Consul的客户端可以提供一个服务,如api或mysql,其他客户端可以使用Consul来发现给定服务的提供者。使用DNS或HTTP,应用程序可以轻松找到它们所依赖的服务。
健康检查:Consul 客户端可以提供与给定服务(“web服务器返回200 OK”)或本地节点(“内存利用率低于90%”)相关联的任何数量的运行状况检查。操作员可以使用此信息来监视群集运行状况,并且服务发现组件使用此信息来将流量路由到不正常的主机。
键/值存储:应用程序可以使用Consul的分层键/值存储用于任何用途,包括动态配置,功能标记,协调,领导选举等。简单的HTTP API使其易于使用。
多数据中心:Consul支持多个数据中心开箱即用。这意味着Consul的用户不必担心构建额外的抽象层以扩展到多个区域。
Consul对DevOps社区和应用程序开发人员设计的更为友好,使其成为完美的现代化,弹性基础设施。

consul的基本概念

agent
组成 consul 集群的每个成员上都要运行一个 agent,可以通过 consul agent 命令来启动。agent 可以运行在 server 状态或者 client 状态。自然的,运行在 server 状态的节点被称为 server 节点;运行在 client 状态的节点被称为 client 节点。client 节点
负责转发所有的 RPC […]

How To Install Jenkins on Ubuntu 16.04

介绍

Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目复刻。

Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。[2]Jenkins是在MIT许可证下发布的自由软件。[3]

可以通过各种手段触发构建。例如提交给版本控制系统时被触发,也可以通过类似Cron的机制调度,也可以在其他的构建已经完成时,还可以通过一个特定的URL进行请求。

系统要求

Minimum Recommended Configuration:
Java 7
256MB free memory
1GB+ free disk space

Recommended Configuration for Small Team:
Java 8
1GB+ free memory
50GB+ free disk space

安装
Debian/Ubuntu

On Debian-based distributions, such […]

[译] Python Logging Howto

基本日志记录教程

日志是跟踪一些软件运行时发生的事件的手段。软件的开发人员添加日志调用到他们的代码中,以指示已发生的某些事件。一个事件是通过一个描述性消息可任选地含有可变数据(即是该事件的每次发生潜在不同的数据)中。事件是很重要的,开发者通常通过事件追踪问题, 重要性也可称为水平或严重程度。

什么时候使用 logging

日志提供了简单的日志使用一组方便的功能。这里有 debug(),info(),warning(),error()和 critical()。要确定何时使用日志记录,请参阅下表,其中规定,对于一组常见任务,使用最好的工具。

[译] Percona Server In-Place Upgrading Guide From 5.6 to 5.7

就地升级是使用服务器中的现有数据来完成。 一般来说,就是停止服务器,安装新的服务器版本并使用之前的数据文件启动它。 虽然它可能不适合于高复杂性的环境,但它们可能适用于许多场景。

以下是5.7系列中相关的改变的总结。 强烈建议您阅读以下指南,因为它们包含可能导致自动升级失败的不兼容更改的信息:

Changed in Percona Server 5.7
Upgrading MySQL
Upgrading from MySQL 5.6 to 5.7

警告

在一个崩溃的实例上从5.6升级到5.7是不推荐的。如果这个服务器上的实例已经崩溃了,应该在进行升级前将崩溃的实例恢复。

使用 Percona 的仓库进行升级

如果可能最简单和推荐的方法是使用Percona的仓库。
在系统中启用仓库的说明可以从下面的找到:

Percona APT Repository
Percona YUM Repository

基于DEB的发行版本

注意

接下来执行命令需要切换到 root 用户或者是使用 […]