Graal VM:云原生时代的Java(转载)
Created|Cloud NativeJava
|Word Count:0|Reading Time:1mins
Author: zhongmingmao
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2022-03-07
Docker Foundation - Namespace + Cgroup
概要 基于 Linux Kernel 的 Cgroup、Namespace、Union FS 等技术,对进程进行封装隔离,属于 OS 层面的虚拟化技术 由于被隔离的进程独立于宿主机和其它被隔离的进程,因此称为容器 演变历史 最早基于 LXC – a linux container runtime 0.7:去除 LXC,转而使用自研的 Libcontainer 1.11:使用 runC 和 containerd Docker 在容器的基础上,进行了进一步的封装,极大地简化了容器的创建和维护 Docker vs VM Docker Engine 是一个 Daemon 进程,启动一个容器的时候,相当于执行了一次进程的 Fork 操作 Container VM 启动时间 秒级 分钟级 硬盘使用 MB 级别 GB 级别 性能 接近原生 弱于 单机支持量 上千 几十 容器标准 OCI – Open Container Initiative K8S 的主要贡献:标准化 后期 Docker 公司不得不让步,兼容 OCI 标准 核心规范:Image + Runti...

2023-05-09
Go Engineering - Log
功能设计基础功能 支持基本的日志信息 - 时间戳、文件名、行号、日志级别、日志信息 支持不同的日志级别 - Debug / Info / Warn / Error / Panic / Fatal logrus 支持 Trace 日志级别,Trace 不是必须的 Trace 和 Panic 是可选的级别 支持自定义配置 - 不同的环境采用不同的配置 开发环境的日志级别为 Debug,而生产环境的日志级别为 Info 通过配置,可以在不重新编译代码的情况下,改变记录日志的行为 支持输出到标准输出和文件 至少实现 6 个日志级别 日志调用时的属性 输出级别 glog.Info(“This is info message”) 开关级别 启动程序时,期望哪些输出级别的日志会被打印 glog -v=L - 只有输出级别 ≥L 的日志才会被打印 高级功能 支持多种日志格式 - TEXT / JSON / … 开发环境采用 TEXT 格式,生产环境采用 JSON 格式 按日志级别分类输出 - Error 级别...

2022-03-08
Docker Foundation - Union FS
Union FS Docker 的创新在文件系统:通过镜像解决容器分发的问题 将不同目录挂载到同一个虚拟文件系统下的文件系统 支持为每一个成员目录(类似于 Git Branch)设定权限:readonly、readwrite、whiteout-able 文件系统分层,对 readonly 权限的 Branch 可以逻辑上进行修改(增量、不影响 readonly 部分) 用途 将多个 Disk 挂在同一个目录下 将一个 readonly 的 Branch 和一个 writeable 的 Branch 联合在一起 Docker 镜像 层可以复用,增量分发 12# docker image inspect --format '{{.RootFS}}' centos:latest{layers [sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59] } 镜像文件系统 bootfs Bootloader 引导加载 kerne...

2021-07-07
Kubernetes -- 容器
容器与镜像容器容器是一个资源视图隔离、资源可限制、独立文件系统的进程集合 镜像容器镜像:运行容器所需要的所有文件集合 构建镜像 运行容器 容器生命周期 Moby 容器引擎架构containerd-shim: 插件化、动态接管 容器 vs VM 参考资料 CNCF × Alibaba 云原生技术公开课

2021-07-07
Kubernetes -- 核心概念
核心功能 Kubernetes是工业级容器编排平台,源于希腊语,意为『舵手』、『飞行员』 Kubernetes是自动化的容器编排平台:部署、弹性、管理 核心功能 服务发现与负载均衡 容器自动装箱(调度) 存储编排 自动容器恢复 自动发布与回滚 配置与密文管理 批量执行(Job) 水平伸缩(弹性) 调度Placement(红色容器):调度器观察正在被调度容器的大小,为其寻找一个能满足其资源需求的节点 自动恢复 将失败节点上的容器迁移到健康节点 水平伸缩 架构 Master 组件 职责 扩展性 API Server 用来处理 API 操作Kubernetes中所有组件都会与 API Server 进行连接组件与组件之间一般不进行独立的连接,依赖于 API Server 进行消息的传送 水平扩展 Controller 用来完成集群状态的管理(如自动恢复、水平扩张等) 热备 Scheduler 用来完成调度操作 热备 etcd 分布式存储系统,用来存储 API Server 所需要的元数据本身为高可用系统,可以保证 Master 组件的高可用性 Node Nod...

2021-06-17
容器编排 -- StatefulSet(原理)
背景 Deployment的短板:Deployment认为一个应用的所有Pod,是完全一样的 有状态应用(Stateful Application) 实例之间有不对等的关系 – 拓扑 实例对外部数据有依赖关系 – 存储 StatefulSet Kubernetes在Deployment的基础上,扩展出对有状态应用的初步支持 StatefulSet是Kubernetes在作业编排的集大成者 状态抽象 分类 拓扑状态:应用的多个实例之间是不完全对等的关系 存储状态:应用的多个实例分别绑定了不同的存储数据 核心功能:通过某种方式记录状态,然后在Pod被重新创建时,能够为新Pod恢复这些状态 设计思想 StatefulSet是一种特殊的Deployment,独特之处:为每个Pod编号(代表创建顺序、网络标识等) 编号 + Headless Service ==> 拓扑状态 编号 + Headless Service + PV/PVC ==> 存储状态 拓扑状态 StatefulSet控制器使用Pod模板创建Pod时,对它们进行编...
Announcement
Things are always unexpected!





