「 DATABASE 」 十二月 25, 2022

TiDB 数据库管理 [TiDB v6](303)笔记

文章字数 14k 阅读约需 12 mins.

在线学习地址:https://learn.pingcap.com/learner/course/1110001

软件包下载地址:https://cn.pingcap.com/product-community/

  • TiUP 是从 TiDB 4.0 引入的包管理器
  • TiUP 在执行时,命令 和组件 < component > 可以同时出现
  • TiDB 集群启动顺序:PD => TiKV => TiDB => TiFlash;停止顺序是启动顺序倒序
  • tiup cluster...
查看全文

「 K8S 」 十二月 18, 2022

基于 KubeSphere 的运管系统落地实践

文章字数 12k 阅读约需 11 mins.

作者:任建伟 @weiliang-ms

首发于:https://mp.weixin.qq.com/s/d5a9uGpdM4sAdCQ461FbYg

接触容器化之前,我们应用一直基于虚拟机运管,由开发人员自行维护。

由于面向多开发部门服务,而开发人员运维能力参差不齐,导致了每次部署新的环境时往往耗费大量时间。

针对部署难的问题,我们将部分组件、服务容器化,采用 Docker 发布管理解决了部分问题,但仍未降低对开发人员的运维技能要求。

下面是我们基于虚拟机管理开发环境的流程:

从上图我们也能发现...

查看全文

「 GO 」 十二月 11, 2022

用 Go 构建全平台命令行工具

文章字数 11k 阅读约需 10 mins.

Write once, run anywhere 是 Sun 1995 年为宣传 Java 语言的跨平台特性而提出的口号。

然而了解 Java 的人都知道,这个 run anywhere 是以目标环境存在 JVM 为前提的。当我们希望构建一个可以 run anywhere 的命令行工具时,Java 显然不是最好的选择。

作为一个更加简洁、现代的编程语言,Golang 可以通过指定 GOOS 和 GOARCH 两个环境变量,将 Go 代码编译为目标环境的可执行文件(无需 Go 运行环境等其他任何依...

查看全文

「 SPRING 」 十二月 04, 2022

为非全局路径配置 Filter 的两种方法

文章字数 16k 阅读约需 15 mins.

原文地址:https://wyiyi.github.io/amber/2022/12/01/filter-note/

Filter 上加 @WebFilter (javax.servlet.annotation.WebFilter),指定 value,启动类加 @ServletComponentScan

【注意】:@ServletComponentScan 这个注解仅对内嵌的 tomcat 生效,如果使用单独的 tomcat,这种方式无效。

示例一:

@WebFilter(filterName ...
查看全文

「 LINUX 」 十一月 27, 2022

【转】理解inode

文章字数 5.1k 阅读约需 5 mins.

原文地址:https://ruanyifeng.com/blog/2011/12/inode.html

作者:阮一峰

理解inode,要从文件储存说起。

文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组...

查看全文

「 K8S 」 十一月 20, 2022

K8s 中的 MySQL 频繁重启问题调查

文章字数 5.7k 阅读约需 5 mins.

K8s 集群中部署了一个 MySQL 实例,使用过程中发现,由于配置了健康检查,健康检查频繁失败,导致容器被频繁重启,无法提供稳定的 MySQL 服务。

MySQL 日志中的相关报错信息如下:

[ERROR] Can't create thread to handle new connection(errno= 11)

在重新启动后,能够正常使用一小段时间,之后就会报出这个错误,并陆续关闭客户端连接,直至关闭服务,重启容器。如此反复,每天能重启近百次。

通过 kubectl describe...

查看全文

「 LINUX 」 十一月 13, 2022

【转】Linux Cgroup系列(03):限制cgroup的进程数(subsystem之pids)

文章字数 8.7k 阅读约需 8 mins.

原文地址:https://segmentfault.com/a/1190000007468509

作者:public0821

上一篇文章中介绍了如何管理cgroup,从这篇开始将介绍具体的subsystem。

本篇将介绍一个简单的subsystem,名字叫pids,功能是限制cgroup及其所有子孙cgroup里面能创建的总的task数量。

注意:这里的task指通过fork和clone函数创建的进程,由于clone函数也能创建线程(在Linux里面,线程是一种特殊的进程),所以这里的task...

查看全文

「 DATABASE 」 十一月 06, 2022

TiDB 数据库核心原理与架构 [TiDB v6](101)笔记

文章字数 14k 阅读约需 13 mins.

在线学习地址:https://learn.pingcap.com/learner/course/960001

  • TiDB 整体架构:TiDB Server、TiKV、TiFlash、PD
  • TiFlash 是 TiKV 的列存版本,并参与复制,保持数据一致
  • PD(Placement Driver) 节点记录数据在哪些 TiKV 或 TiFlash 节点上,以及全局时间戳(TSO),还会配合 TiDB Server 生成事务的唯一 ID
  • 数据分区(Region)存储(96~144mb),默认三副...
查看全文

「 BOOK 」 十月 30, 2022

《Istio in Action》书摘

文章字数 38k 阅读约需 34 mins.

1.4.3 Meet Envoy proxy

  • Envoy gives us networking capabilities like retries, timeouts, circuit breaking, client-side load balancing, service discovery, security, and metrics-collection without any explicit language or framework dependencies.
  • The power...
查看全文

「 BOOK 」 十月 23, 2022

《Kubernetes Patterns》书摘

文章字数 25k 阅读约需 23 mins.

  • Local and distributed primitives

Annotations

  • Another primitive very similar to labels is called annotations. Like labels, annotations are organized as a map, but they are intended for specifying nonsearchable metadata and for machine usage rather than...
查看全文
加载更多
0%