摘要:context 标准库 注:本文参考摘抄于《Go语言核心编程》 Go 中的goroutine 之间并没有父与子的关系,也就是没有所谓子进程退出后的通知机制,多个goroutine都是平行地被调度,多个goroutine如何协作设计通信、同步、通知和退出四个方面。 通信: chan通道当然是gorou 阅读全文
posted @ 2020-09-09 14:44 roverliang 阅读(47) 评论(0) 推荐(0) 编辑
摘要:PHP现代的框架,比如Yii、Laravel、或者是Swoole 的企业级框架Hyperf,都不约而同的使用了依赖注入、控制反转的设计模式。 这对于开发来讲说,如何注入对象和获取对象,变成了黑盒。DI容器装载了APP应用的所有的服务,当我们去调试代码时,通常会被海量的打印信息所吓到。面对冗余的信息, 阅读全文
posted @ 2020-08-12 20:45 roverliang 阅读(210) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Annotation & ConfigMap Annotation Annotation(注解)与Label类似,也使用key/value键值对的形式进行定义。不同的是Label具有严格的命名规则,它定义的是Kubernetes对象的元数据(Metadata),并且用于La 阅读全文
posted @ 2020-08-05 16:08 roverliang 阅读(45) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Namespace Namespace(命名空间)是Kubernetes系统中的另一个非常重要的概念。 Namespace在很多情况下用于实现多租户的资源隔离。Namespace通过将集群内部的资源对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目、小组或用 阅读全文
posted @ 2020-08-05 15:27 roverliang 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Volume & Persistent Volume 一、Volume Volume(存储卷)是Pod中能够被多个容器访问的共享目录。 Kubernetes的Volume概念、用途和目的与Docker的Volume比较类似,但两者不能等价。首先,Kubernetes中的Vo 阅读全文
posted @ 2020-08-05 15:09 roverliang 阅读(64) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & job 批处理任务通常并行(或者串行)启动多个计算进程去处理一批工作项(work item),在处理完成后,整个批处理任务结束。 从1.2版本开始,Kubernetes支持批处理类型的应用,我们可以通过Kubernetes Job这种新的资源对象定义并启动一个批处理任务Jo 阅读全文
posted @ 2020-08-05 14:04 roverliang 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Service 概述 Service服务也是Kubernetes里的核心资源对象之一,Kubernetes里的每个Service其实就是我们经常提起的微服务架构中的一个微服务,之前讲解Pod、RC等资源对象其实都是为讲解Kubernetes Service做铺垫的。图显示了 阅读全文
posted @ 2020-08-05 13:46 roverliang 阅读(34) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & StatefulSet 在Kubernetes系统中,Pod的管理对象RC、Deployment、DaemonSet和Job都面向无状态的服务。但现实中有很多服务是有状态的,特别是一些复杂的中间件集群,例如MySQL集群、MongoDB集群、Akka集群、ZooKeeper 阅读全文
posted @ 2020-08-04 19:45 roverliang 阅读(27) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Autoscaler 通过手工执行kubectl scale命令,我们可以实现Pod扩容或缩容。如果仅仅到此为止,显然不符合谷歌对Kubernetes的定位目标—自动化、智能化。在谷歌看来,分布式系统要能够根据当前负载的变化自动触发水平扩容或缩容,因为这一过程可能是频繁发生 阅读全文
posted @ 2020-08-04 19:37 roverliang 阅读(45) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Deployment Deployment是Kubernetes在1.2版本中引入的新概念,用于更好地解决Pod的编排问题。为此,Deployment在内部使用了Replica Set来实现目的,无论从Deployment的作用与目的、YAML定义,还是从它的具体命令行操作 阅读全文
posted @ 2020-08-04 18:43 roverliang 阅读(28) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Replication Controller RC是Kubernetes系统中的核心概念之一,简单来说,它其实定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值,所以RC的定义包括如下几个部分。 ◎ Pod期待的副本数量。 ◎ 用于筛选目标Pod的L 阅读全文
posted @ 2020-08-04 18:13 roverliang 阅读(31) 评论(0) 推荐(0) 编辑
摘要:Kubernetes & Label Label(标签)是Kubernetes系统中另外一个核心概念。一个Label是一个key=value的键值对,其中key与value由用户自己指定。Label可以被附加到各种资源对象上,例如Node、Pod、Service、RC等,一个资源对象可以定义任意数量 阅读全文
posted @ 2020-08-04 18:11 roverliang 阅读(32) 评论(0) 推荐(0) 编辑
摘要:Docker & K8s学习记录 下载学习代码: https://github.com/kubeguide/K8sDefinitiveGuide-V4-Sourcecode 启动mysql RC服务 创建RC定义文件 mysql-rc.yaml apiVersion: v1 kind: Replic 阅读全文
posted @ 2020-08-04 17:25 roverliang 阅读(48) 评论(0) 推荐(0) 编辑
摘要:Kubernetes的基本概念和术语 Kubernetes中的大部分概念如 Node Pod Replication Controller Service 等都可以被看作一种资源对象,几乎所有资源对象都可以通过Kubernetes提供的kubectl工具(或者API编程调用)执行增、删、改、查等操作 阅读全文
posted @ 2020-08-04 17:21 roverliang 阅读(36) 评论(0) 推荐(0) 编辑
摘要:Serverless 是什么 Serverless 是一个当今软件世界中比较新的话题。它并没有一个普遍公认的权威定义,每个人每个企业对它的解释可能都有不同,而 Serverless 正是在这种情况下不断发发展的。但是就算如此,有一些 Serverless 的特征还是被广泛认可的: 服务端的主机和进程 阅读全文
posted @ 2020-08-03 14:50 roverliang 阅读(71) 评论(0) 推荐(0) 编辑
摘要:daemon Docker deamon 是一个用于管理容器的后台进程。一般情况下,守护进程是一个长期运行的用来处理请求的进程服务。 -d 参数用于后台进程 build 如之前所讨论的,可以使用Dockerfile来构建镜像。简单的构建命令如下: docker build [options] PAT 阅读全文
posted @ 2020-07-30 11:59 roverliang 阅读(25) 评论(0) 推荐(0) 编辑
摘要:Docker 使用Dockerfile 来描述构建步骤。我们将介绍什么是Dockerfile,它能够做到的事情以及Dockerfile的一些基本语法,并且总结了最佳实践和注意事项。 Dockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾 阅读全文
posted @ 2020-07-30 10:38 roverliang 阅读(67) 评论(0) 推荐(0) 编辑
摘要:Docker Run 命令行参数及其使用 Docker Run 顾名思义就是运行一个Docker。Docker 是一套封装,封装的对象是镜像(image)。 语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: 左对齐 居中对齐 -a 阅读全文
posted @ 2020-07-29 14:47 roverliang 阅读(316) 评论(0) 推荐(0) 编辑
摘要:Dokcerfile 概念 本文整理归纳于网络,非原创。 docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序,库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量,用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 镜像的定制实际上就是定制每一 阅读全文
posted @ 2020-07-28 10:17 roverliang 阅读(36) 评论(0) 推荐(0) 编辑
摘要:定义数据库中注释的规范 经常会在数据库中定义字段的注释,但是注释利用的好,也是可以生成代码的,减少工作量。经常用到的是状态。比如说一个订单可能有八种状态,那么在使用的过程中,就会经常的出现检测某个状态是否存在的代码。其实在使用gii生成的时候,可以利用注释的规则,去自动的生成代码。以此来减少工作量。 阅读全文
posted @ 2020-04-20 19:03 roverliang 阅读(77) 评论(0) 推荐(0) 编辑