抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

作为 Go 并发原语的第一篇文章,一定绕不开 Go 的并发哲学。从 Tony Hoare 写的 Communicating Sequential Processes 这篇文章说起,这篇经典论文算是 Go 语言并发原语的根基。 一、What is CSPCSP 的全称是 Communicating Sequential Processes,直译即通信顺序进程。这一概念起源于1978年ACM期刊...

在微服务架构中,有许多绕不开的技术话题。比如服务发现、负载均衡、指标监控、链路追踪,以及服务治理相关的超时控制、熔断、降级、限流等,还有 RPC 框架。 本篇文章介绍相对比较简单的服务发现相关内容。 服务发现为什么在微服务架构中,需要引入服务发现呢?本质上,服务发现的目的是解耦程序对服务具体位置的依赖,对于微服务架构来说,服务发现不是可选的,而是必须的。因为在生产环境中服务提供方都是以集群的...

负载均衡概念负载均衡(Load Balance)指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。使用负载均衡除了个节点共同分担请求外,还有以下好处: 提高性能 提高吐出量 提高系统可用性 提高扩展性,...

问题背景Kubernetes使用Deployment来控制Pod的主要好处之一是能够执行滚动更新。滚动更新允许你逐步更新Pod的配置,并且Deployment提供了许多选项来控制滚动更新的过程。很多时候滚动更新过程,服务会很出现短暂的停机现象,期间访问服务会失败。那么,如何做到滚动更新过程零停机? 原因分析在给出方案之前,先看看为何会发生服务中断。 Deployment 滚动更新时会先创建新...

Client对象 client-go支持4种客户端对象与Kubernetes API Server进行交互: RESTClient是最基础的客户端。RESTClient对 HTTP Request 进行了封装,实现了RESTful风格的API。ClientSet、DynamicClient、DiscoveryClient客户端都是基于RESTClient实现的。 ClientSet在...

前言: 容器大战2013年前: 大战前夕——一片祥和虚拟化技术已经深入人心,以aws与openstack为主的云平台已经非常成熟。PaaS理念也得到了普及,cloud foundry成为当时PaaS的标准cloud foundry吸引了包括百度、京东、华为、IBM 等一大批国内外技术厂商,开启了以开源 PaaS 为核心构建平台层服务能力的变革。“PaaS 的时代就要来了!”PaaS公司有:C...

什么是容器容器其实是一种沙盒技术,可以理解为是一种特殊的进程而已。在Linux上容器技术的核心功能,就是通过约束(Cgroups)和修改进程(Namespace)的动态表现,从而为其创造出一个“边界”,简称“容器”。 容器之间怎么通讯被隔离的容器进程,该如何跟其他的网络 Namespace 里的容器进程进行交互呢?首先要知道每个容器中的“网络栈”组成: 网卡(Network Interfa...

加速开发流程的 Dockerfile 最佳实践 前言Dockerfile 是创建 Docker 镜像的起点,该文件提供了一组定义良好的指令,可以让我们复制文件或文件夹,运行命令,设置环境变量以及执行创建容器镜像所需的其他任务。编写 Dockerfile 来确保生成的镜像安全、小巧、快速构建和快速更新非常重要。 本文介绍如何编写良好的 Dockerfile 来加快开发流程,确保构建的可重用...

Dockerfile可以认为是一个脚本,包含如何构建Docker镜像的说明。实际上,这些指令是一组在Docker环境中自动执行的命令,以构建特定的Docker镜像。 指令关键字FROMDocker镜像有着分层的概念,因此制作任何一个Docker镜像都需要有一个基础镜像,FROM用于指定基础镜像,语法为 1FROM <image>:<tag> 其中基础镜像的tag可以...

问题背景最近k8s节点扩容,新增其中一个节点,网络出现问题(假设podA为异常节点上的pod): 1.从任何节点(包括负载节点)都无法ping通podA的IP,均出现From xx.xx.xx.xx icmp_seq=x Destination Host Unreachable错误2.从podA容器内部可以ping通集群外部IP,但偶尔会出现第一二个响应严重延迟现象3.各节点之间可以正常pi...