Levon's Blog

微信: L6241425

1. 基础概念

1.1 内核态和用户态

Linux系统中分为内核态(Kernel model)和用户态(User model),CPU会在两个model之间切换。

  • 内核态代码拥有完全的底层资源控制权限,可以执行任何CPU指令,访问任何内存地址,其占有的处理机是不允许被抢占的。内核态的指令包括:启动I/O,内存清零,修改程序状态字,设置时钟,允许/终止中断和停机。内核态的程序崩溃会导致PC停机。

  • 用户态是用户程序能够使用的指令,不能直接访问底层硬件和内存地址。用户态运行的程序必须委托系统调用来访问硬件和内存。用户态的指令包括:控制转移,算数运算,取数指令,访管指令(使用户程序从用户态陷入内核态)。

阅读全文 »

先抛出知乎的一个问题: https://www.zhihu.com/question/59975081

epoll技术属于IO复用,IO复用属于同步IO,所以epoll属于同步IO,这应该是没毛病的。

现在我用了一个框架,比如twisted,里面的reactor模式的实现是基于epoll或者poll的,在IO的范畴应该是属于同步IO,但是网上几乎所有的文章都说twisted是异步的。

我的问题是,异步与异步IO是不是一个东西?有没有可能异步可以由同步IO(epoll或poll)实现?

阅读全文 »

1. 微服务拆分

1.1 康威法则

康威定律 (康威法则):”设计系统的架构会与产生该系统的组织的通讯结构相匹配”。

简而言之,这意味着一个组织在设计软件系统时,系统的架构往往会反映出该组织内部的沟通和协作方式。例如,如果一个组织被划分为多个团队,每个团队负责一个独立的模块,那么最终的软件系统也可能是由多个独立的模块组成。

康威法则的实际意义在于提醒我们,组织结构和沟通方式会直接影响到软件系统的设计和质量。因此,在设计和开发软件时,优化组织结构和沟通方式是非常重要的。

img
阅读全文 »

1. 探测机制

Kubernetes有以下三种探测容器的机制:

  • HTTP GET探针

对容器的IP地址(你指定的端⼜和路径)执⾏ HTTP GET请求。如果探测器收到响应,并且响应状态码不代表错误(换句话说,如果HTTP响应状态码是2xx或3xx),则认为探测成功。如果服务器返回错误响应状态码或者根本没有响应,那么探测就被认为是失败的,容器将被重新启动。

  • TCP套接字探针

尝试与容器指定端口建⽴TCP连接。如果连接成功建⽴,则探测成功。否则,容器重新启动。

  • Exec探针

在容器内执⾏任意命令,并检查命令的退出状态码。如果状态码是0,则探测成功。所有其他状态码都被认为失败。

阅读全文 »

Deployment,⽀持声明式地更新应⽤程序。

  1. Deployment是⼀种更⾼阶资源,⽤于部署应⽤程序并以声明的⽅式升级应⽤,⽽不是通过ReplicationController或ReplicaSet进⾏部署,它们都被认为是更底层的概念。
  2. 当创建⼀个Deployment时,ReplicaSet资源也会随之创建 。
  3. 在使⽤ Deployment 时 , 实 际 的 pod 是 由Deployment 的Replicaset创建和管理的,⽽不是由Deployment直接创建和管理的。
阅读全文 »

1. Service 基础

⽔平伸缩意味着多个pod可能会提供相同的服务——每个pod都有⾃⼰的IP地址,客户端⽆须关⼼后端提供服务pod的数量,以及各⾃对应的IP地址。它们⽆须记录每个pod的IP地址。相反,所有的pod可以通过⼀个单⼀的IP地址进⾏访问。为了解决上述问题,Kubernetes提供了⼀种资源类型——服务(service)

阅读全文 »

1. ReplicationController(弃用)

ReplicationController旨在创建和管理⼀个pod的多个副本(replicas)。这就是ReplicationController名字的由来。

ReplicationController会持续监控正在运⾏的pod列表,并保证相应“类型”的pod的数⽬与期望相符。如正在运⾏的pod太少,它会根据 pod模板创建新的副本。如正在运⾏的pod太多,它将删除多余的副本。

阅读全文 »

1. Pod引入

1.1 pod

⼀个pod是⼀组紧密相关的容器,它们总是⼀起运⾏在同⼀个⼯作节点上,以及同⼀个Linux命名空间中。每个pod就像⼀个独⽴的逻辑机器,拥有⾃⼰的IP、主机名、进程等,运⾏⼀个独⽴的应⽤程序。

每个pod都有⾃⼰的IP,并包含⼀个或多个容器,每个容器都运⾏⼀个应⽤进程。pod分布在不同的⼯作节点上。

image-62
阅读全文 »
0%