07 2019 档案
摘要:主机数据收集 主机数据的采集是集群监控的基础;外部模块收集各个主机采集到的数据分析就能对整个集群完成监控和告警等功能。一般主机数据采集和对外提供数据使用cAdvisor 和node-exporter等工具。 cAdvisor 概述 Kubernetes的生态中,cAdvisor是作为容器监控数据采集
阅读全文
摘要:添加hosts解析 cat /etc/hosts 10.39.7.51 k8s-master-51 10.39.7.57 k8s-master-57 10.39.7.52 k8s-master-52 下载calico wget http://docs.projectcalico.org/v3.2/g
阅读全文
摘要:Kubernetes是一个伟大的容器"乐队"。但它不管理Pod-to-Pod通信的网络。这是容器网络接口(CNI)插件的使命,它是实现容器集群工具(Kubernetes,Mesos,OpenShift等)的网络抽象的标准化方法。 但重点是:这些CNI之间有什么区别?哪一个性能最好?哪一个最精瘦? 本
阅读全文
摘要:k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等。 kubernetes1.9版本发布2017年12月15日,每三个月一个迭代版本, Workloads API成为稳定版本,这消除了很多潜在用户对于该功能稳定性的担忧。还有一个
阅读全文
摘要:需求: 运行环境为CentOS 7系统,我们开发了一个程序,需要在开机时启动它,当程序进程crash或者开机之后,守护进程立即拉起进程。 解决方案: 使用CentOS 7中的init进程systemd systemd简介 Linux Init & CentOS systemd Linux一直以来采用
阅读全文
摘要:简介 环境: ansible端: ip:192.168.100.129 hostname:node1.lansgg.com client端: ip:192.168.100.131 hostname:v2.lansgg.com ip:192.168.100.132 hostname:v3.lansgg
阅读全文
摘要:k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等。 kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, Workloads API成为稳定版本,这消除了很多潜在用户对于该功能稳定性的担忧。还有一个重大更新,
阅读全文
摘要:分布式系统解决了传统单体架构的单点问题和性能容量问题,另一方面也带来了很多的问题,其中一个问题就是多节点的时间同步问题:不同机器上的物理时钟难以同步,导致无法区分在分布式系统中多个节点的事件时序。1978年Lamport在《Time, Clocks and the Ordering of Event
阅读全文
摘要:什么是数字证书 数字证书是电子凭证,用于断言网络上的个人,计算机和其他实体的在线身份。数字证书的功能类似于护照和驾驶执照等身份证。最常见的是,它们包含公钥和所有者的身份。它们由证书颁发机构(CA)颁发,证书颁发机构必须在颁发证书之前和使用证书时验证证书持有者的身份。常见用途包括需要身份验证,加密和数
阅读全文
摘要:如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环境! 一、安装python3.6 1. 安装依赖环境 # yum -y install zlib-devel bzi
阅读全文
摘要:在工作中有用到ansible用于自动部署和环境配置,这里整理了一份很详尽的使用指南,如果有用到的可以看看。关于使用ansible自动部署一个网站和docker化,将在下一篇文章中介绍,敬请期待。文章内容主要翻译整理自ansible官方网站推荐的Ansible-Up and Running一书。 1
阅读全文
摘要:编程免不了要写配置文件,如果你还在用xml/ini/json,就有点过时了,怎么写配置也是一门学问。 YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。 本文介绍 YAML 的语法,以 JS-YAML 的实现为例。你可以去在线 Demo 验证下面的例子。 一、简介 YA
阅读全文
摘要:在GitLab 8.8中引入。 介绍 管道是持续集成,交付和部署的顶级组件。 管道包括: 定义要运行的作业的作业。例如,代码编译或测试运行。 定义何时以及如何运行的阶段。例如,该测试仅在代码编译后运行。 如果有足够的并发Runners,则Runners并行执行同一阶段中的多个作业。 如果一个阶段的所
阅读全文
摘要:CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性。从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预。 它涉及在每次小迭代中不断构建,测试和部署代码更改,从而减少基于有缺陷或失败的先前版本开发新代码的风险。 这有三种主要方法,每
阅读全文
摘要:gearman是什么? 它是分布式的程序调用框架,可完成跨语言的相互调用,适合在后台运行工作任务。最初是2005年perl版本,2008年发布C/C++版本。目前大部分源码都是(Gearmand服务job Server)C++,各个API实现有各种语言的版本。PHP的Client API与Worke
阅读全文
摘要:Golang逃逸分析 介绍逃逸分析的概念,go怎么开启逃逸分析的log。 以下资料来自互联网,有错误之处,请一定告之。 sheepbao 2017.06.10 什么是逃逸分析 wiki上的定义 In compiler optimization, escape analysis is a method
阅读全文
摘要:刚开始写这篇文章的时候,目标非常大,想要探索 Go 程序的一生:编码、编译、汇编、链接、运行、退出。它的每一步具体如何进行,力图弄清 Go 程序的这一生。 在这个过程中,我又复习了一遍《程序员的自我修养》。这是一本讲编译、链接的书,非常详细,值得一看!数年前,我第一次看到这本书的书名,就非常喜欢。因
阅读全文
摘要:1 概念 1.1 模型 节点 在具体的工程项目中,一个节点往往是一个操作系统上的进程。在本文的模型中,认为节点是一个完整的、不可分的整体,如果某个程序进程实际上由若干相对独立部分构成,则在模型中可以将一个进程划分为多个节点。 异常 1.2 副本 副本(replica/copy)指在分布式系统中为数据
阅读全文
摘要:1.引言 产品要求的功能都都开发完了,但这并不是终结。怎么样做才能让我们的服务具有更好的质量。笔者结合自己的遇到的问题和工作中的经验,并以提问的方式,给读者一点点建议 2. 提问QA (重要性不分先后) 2.1 如果服务器重启,服务是否能自动拉起? 建议加入/etc/init.d/local开机启动
阅读全文
摘要:这次给大家介绍下k8s的亲和性调度:nodeSelector、nodeAffinity、podAffinity、Taints以及Tolerations用法。 这次给大家介绍下k8s的亲和性调度:nodeSelector、nodeAffinity、podAffinity、Taints以及Tolerat
阅读全文
摘要:我们拥有的服务越多,如果我们使用预定义的端口,就会发生冲突的可能性越大。毕竟,在同一端口上不能监听两个服务。管理一百个服务所使用的所有端口的紧密列表本身就是一项挑战。将那些服务所需的数据库添加到该列表中,数量会增长得更多。出于这个原因,我们应该在不指定端口的情况下部署服务,并让Docker为我们分配
阅读全文
摘要:这篇博文是探索三个分布式、一致性键值数据存储软件性能的系列文章中的第一篇:etcd、Zookeeper和Consul,由etcd团队所写,可以让我们全面地了解如何评估三个分布式一致存储软件的性能。翻译过程中难免有误差,还请大家谅解 一致性键值存储的用处 许多现代分布式应用程序都建立在分布式一致键值存
阅读全文
摘要:背景 本文并不介绍服务发现的基本原理。除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现。想直接查看结论的同学,请直接跳到文末。目前,市面上有非常多的服务发现工具,《Open-Source Service Discovery》一文中列举了如下开源的服务发现工具。
阅读全文
摘要:什么是服务发现? 服务发现并没有怎样的高深莫测,它的原理再简单不过。只是市面上太多文章将服务发现的难度妖魔化,读者被绕的云里雾里,顿觉自己智商低下不敢高攀。 服务提供者是什么,简单点说就是一个HTTP服务器,提供了API服务,有一个IP端口作为服务地址。服务消费者是什么,它就是一个简单的进程,想要访
阅读全文
摘要:逃逸分析的概念,go怎么开启逃逸分析的log。 以下资料来自互联网,有错误之处,请一定告之。 什么是逃逸分析 wiki上的定义 在编译程序优化理论中,逃逸分析是一种确定指针动态范围的方法——分析在程序的哪些地方可以访问到指针。它涉及到指针分析和形状分析。 当一个变量(或对象)在子程序中被分配时,一个
阅读全文
摘要:在实际应用中,你做了那么多 Server 端,写了 N 个 RPC 方法。想看看方法的指标,却无处下手? 本文将通过 gRPC + Opentracing + Zipkin 搭建一个分布式链路追踪系统来实现查看整个系统的链路、性能等指标 🤓 Opentracing 是什么 OpenTracing
阅读全文
摘要:上个月在 @polaris @轩脉刃 的全栈技术群里看到一个小伙伴问 “说 defer 在栈退出时执行,会有性能损耗,尽量不要用,这个怎么解?”。 恰好前段时间写了一篇 《深入理解 Go defer》 去详细剖析 defer 关键字。那么这一次简单结合前文对这个问题进行探讨一波,希望对你有所帮助,但
阅读全文
摘要:前言 每次更新完代码,更新完配置文件后 就直接这么 ctrl+c 真的没问题吗,ctrl+c到底做了些什么事情呢? 在这一节中我们简单讲述 ctrl+c 背后的信号以及如何在Gin中优雅的重启服务,也就是对 HTTP 服务进行热更新 项目地址:https://github.com/EDDYCJY/g
阅读全文
摘要:前言 如果你平时有翻看源码的习惯,你肯定会发现。咦,怎么有的方法上面总是写着 //go: 这类指令呢。他们到底是干嘛用的? 今天我们一同揭开他们的面纱,我将简单给你介绍一下,它们都负责些什么 go:linkname 该指令指示编译器使用 importpath.name 作为源代码中声明为 local
阅读全文
摘要:前言 在浅谈分词算法(1)分词中的基本问题我们讨论过基于词典的分词和基于字的分词两大类,在浅谈分词算法(2)基于词典的分词方法文中我们利用n-gram实现了基于词典的分词方法。在(1)中,我们也讨论了这种方法有的缺陷,就是OOV的问题,即对于未登录词会失效在,并简单介绍了如何基于字进行分词,本文着重
阅读全文
摘要:gRPC 在 Go 语言中大放异彩,越来越多的小伙伴在使用,最近也在公司安利了一波,希望这一篇文章能带你一览 gRPC 的巧妙之处,本文篇幅比较长,请做好阅读准备。本文目录如下: 简述 gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 G
阅读全文