KubeSphere 入门和安装

KubeSphere是什么 KubeSphere是国内的青云开发的一款开源的,在 Kubernetes 之上构建的面向云原生应用的分布式操作系统。有非常完善的界面,对开发运维非常友好。……

Prometheus + Grafana 监控系统搭建

前言 想对实验室的服务器搭建监控系统进行外部网页监控,目前比较主流的选择就是Prometheus + Grafana,先看最终效果: 服务器常规性能监控: GPU监控: D……

算法笔记(回溯法)

回溯法可以解决各种排列组合问题,本质上就是遍历决策树。 宽度是问题的个数,高度是递归的深度 1 2 3 4 5 6 7 8 9 10 11 12 func backtrack(path, choiceList){ // 终止条件 if (terminal condition){ result = append(result, path) return } for _, choice := range choiceList {……

算法笔记(二叉树篇)

理论 一些概念 满二叉树 如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 完全二叉树 在完全二叉树中,除了最底层节点可……

算法笔记(链表篇)

翻转链表:寻找相同状态迭代与递归 有些指针变来变去的题目,特别绕,比如翻转链表。 LeetCode 206. 反转链表 ☆ 可以寻找相同的状态,解决这个状态下的问题,然后一个循环到最后。 相同状……

算法笔记(数组篇)

双指针 LeetCode 27. 移除元素 ☆ 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 1 2 3 4 5 6 7 8 9 10 func removeElement(nums []int, val int) int { left := 0 for _, num :=……

Kubernetes微服务:Service

Kubernetes微服务:Service Service是集群内部的负载均衡机制, Pod处于一种动态稳定的过程中,但是客户端等需要稳定的后端服务。负载均衡机制在……

Kubernetes核心:Pod

Pod简述 为什么需要Pod? 现实中经常会有多个进程密切协作才能完成任务的应用,而仅使用容器很难描述这种关系。 设想一种场景,一些容器因为联系非常紧密需要放在一起,……

云原生概念

云原生的历史 虚拟化技术 云计算的基础是虚拟化技术,一个重要的里程碑就是2001年VMWare的x86虚拟化计划,从而可以不购买物理设备来虚拟化一个机器。 接下来,亚……

通过kubeadm搭建Kubernetes集群

准备硬件环境 k8s搭建的一些难点: 需要多台服务器,贵 搭建时需要科学上网 搭建比较复杂,学习起来也比较复杂 如果是学习阶段,也接触不到大型集群,可以在本地局域网进行搭……

frp内网穿透原理及配置记录

前言 一般来说,除了一些企业高校等机构,国内绝大部分普通人没有ipv4的公网ip且极难申请到,毕竟用一个少一个,并且由于一些原因,国内ipv6也不太可能普及的起来……

Go net/http 源码解析

Go web中最底层的库就是Go自带的http库,下面对这个库的源码进行解析,简单而言,http分为两个部分:Server与Client。 go http包的执行流程如下……

深入Docker:Namespace与Cgroups

Docker的基石 容器本质上是一种沙盒技术,像一个集装箱,将应用装起来。 这样应用与应用不会互相干扰,装进集装箱的应用也可以非常方便的迁移,在不同的地方也能保持一……

给博客网站上CDN

为什么需要CDN 因为众所周知的原因,Github在国内访问时经常抽风,page抽风概率小一点但还是有概率访问不了或者很慢。于是我尝试给博客网站进行CDN加速。 内……

MySQL进阶(五)锁

有并发的时候,需要锁来控制资源的访问规则。 MySQL的锁分为全局锁、表级锁和行锁。 全局锁 对整个数据库实例进行加锁,加完锁后数据库处于只读状态,一般用于全量备份的……

MySQL进阶(四)索引

索引的概念与意义 索引是数据库中最重要的概念之一,它是一种特殊的查询表,可以被数据库搜索引擎用来加速数据的检索。索引能实现快速定位数据的一种存储结构,其设计思想是……

MySQL进阶(三)再谈事务

事务的概念与意义 一个行为可能涉及到多个操作,如果进行到中途系统忽然崩溃,那么可能会造成巨大的损失。 我们想要保证一系列的数据库操作,要么全部成功,要么全部失败。这……

MySQL进阶(二)日志

日志的概念与意义 日志在各种软件都不可或缺,尤其是数据库应用,可以看作是飞机的黑匣子,记录着发生的一切。 其意义在于: 分析历史记录 定位问题 错误复盘 误操作,借助日志恢……

MySQL进阶(一)MySQL架构

MySQL底层架构 MySQL包含一个Server层和一个存储逻辑层,大部分核心功能和内置函数、所有跨存储引擎的功能都在Server层实现。 存储引擎层负责数据存储……

Protobuf基础

protobuf 是Protocol Buffers的简称,由Google开源,是一种轻便高效的结构化数据存储语言,定位是类似xml、json这样的数据描述语言。protobuf……