<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>于重生blog</title>
    <link>https://blog.chongsheng.art/</link>
    <description>Recent content on 于重生blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sun, 18 Jun 2023 22:10:35 +0800</lastBuildDate><atom:link href="https://blog.chongsheng.art/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LVM简介</title>
      <link>https://blog.chongsheng.art/post/linux/lvm-intro/</link>
      <pubDate>Sun, 18 Jun 2023 22:10:35 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/linux/lvm-intro/</guid>
      <description>LVM简介 LVM是逻辑盘卷管理（Logical Volume Manager）的简称，它是Linux环境下对磁盘分区进行管理的一种机制，LVM是建立在硬盘</description>
    </item>
    
    <item>
      <title>k8s常用命令</title>
      <link>https://blog.chongsheng.art/post/k8s/cmd/</link>
      <pubDate>Mon, 29 May 2023 17:27:28 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/k8s/cmd/</guid>
      <description>通用 1 2 k get ns # 查看namespace列表 k api-resources # 查看对象列表，及对应的短名，是否属于namespace，kind等 1 k get ns default -v 9 使用-v 9指</description>
    </item>
    
    <item>
      <title>Go内存模型</title>
      <link>https://blog.chongsheng.art/post/golang/go-memory-model/</link>
      <pubDate>Thu, 09 Feb 2023 18:32:27 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/golang/go-memory-model/</guid>
      <description>翻译自Go官方的Go Memory Model ，文档版本为 Jun 6, 2022。 Introduction Go内存模型指明了为实现在一个goroutine中读取到在其它goroutine中修改的</description>
    </item>
    
    <item>
      <title>k8s服务发现</title>
      <link>https://blog.chongsheng.art/post/k8s/discovery/</link>
      <pubDate>Sat, 28 Jan 2023 12:29:23 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/k8s/discovery/</guid>
      <description>Service对象 Service对象用来描述负载均衡对象，通过selector定义基于Pod标签的过滤规则，从而选择服务的上游应用实例。 1 2</description>
    </item>
    
    <item>
      <title>CPU缓存架构到内存屏障</title>
      <link>https://blog.chongsheng.art/post/golang/cpu-cache-memory-barrier/</link>
      <pubDate>Tue, 24 Jan 2023 22:59:12 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/golang/cpu-cache-memory-barrier/</guid>
      <description>CPU缓存架构 现代处理器一般是多核架构，并且为了平衡CPU和内存的速度差距，还引入了多级Cache，Cache的读写速度介于CPU寄存器和内</description>
    </item>
    
    <item>
      <title>k8s运行时</title>
      <link>https://blog.chongsheng.art/post/k8s/runtime/</link>
      <pubDate>Wed, 02 Nov 2022 22:42:49 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/k8s/runtime/</guid>
      <description>Kubelet 每个节点上都运行一个kubelet服务进程，默认监听10250端口 接收并执行master发来的指令 管理Pod及Pod中的容器 每个kubel</description>
    </item>
    
    <item>
      <title>k8s控制器</title>
      <link>https://blog.chongsheng.art/post/k8s/controller/</link>
      <pubDate>Sun, 16 Oct 2022 20:24:23 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/k8s/controller/</guid>
      <description>controller manager运行控制器程序，是集群中处理常规任务的进程。逻辑上，每个控制器都是一个单独的执行进程，为了降低复杂性，内置控制器被编译成一个</description>
    </item>
    
    <item>
      <title>k8s调度器</title>
      <link>https://blog.chongsheng.art/post/k8s/scheduler/</link>
      <pubDate>Sun, 16 Oct 2022 15:43:24 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/k8s/scheduler/</guid>
      <description>Scheduler负责调度Pod到集群内的节点，监听APIServer，查询还未分配Node的Pod，然后根据调度策略为这些Pod分配节点（</description>
    </item>
    
    <item>
      <title>共识算法-Raft</title>
      <link>https://blog.chongsheng.art/post/distributed-system/raft/</link>
      <pubDate>Sat, 03 Sep 2022 15:44:18 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/distributed-system/raft/</guid>
      <description>算法描述 State 所有节点的持久化状态，需要在响应RPC前更新到稳定存储： currentTerm 记录的当前任期，初始为0 votedFor 当前任期投票支持的candidateId，没有</description>
    </item>
    
    <item>
      <title>k8s组件APIServer</title>
      <link>https://blog.chongsheng.art/post/k8s/apiserver/</link>
      <pubDate>Sat, 27 Aug 2022 11:33:28 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/k8s/apiserver/</guid>
      <description>APIServer 提供集群管理Restful接口，包括认证授权、数据校验及集群状态变更 其它模块之间数据交互的枢纽，只有APIServer能连接Etcd k8s AP</description>
    </item>
    
    <item>
      <title>一致性模型与隔离级别</title>
      <link>https://blog.chongsheng.art/post/distributed-system/consistency-model-isolation-level/</link>
      <pubDate>Sun, 17 Jul 2022 22:23:25 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/distributed-system/consistency-model-isolation-level/</guid>
      <description>一致性模型 复制带来了高可用性和高性能，但也带来了多个副本如何保持数据一致性的问题，尤其是写操作在何时以何种方式更新到所有副本，决定了分布式系</description>
    </item>
    
    <item>
      <title>分布式系统相关定理</title>
      <link>https://blog.chongsheng.art/post/distributed-system/cap/</link>
      <pubDate>Wed, 22 Jun 2022 21:50:58 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/distributed-system/cap/</guid>
      <description>CAP 定理 2000年提出 CAP定理是一个分布式系统特性的高度抽象，总结了各个特性之间的冲突。CAP定理指出，在一个异步网络环境中，对于一个分布式</description>
    </item>
    
    <item>
      <title>分布式系统之分区与复制</title>
      <link>https://blog.chongsheng.art/post/distributed-system/partition-and-replication/</link>
      <pubDate>Tue, 21 Jun 2022 11:38:53 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/distributed-system/partition-and-replication/</guid>
      <description>分区 分布式系统实现可扩展性的主要方式之一是对数据进行分区 通过增加节点的方式增加系统的存储规模 增加可用性和可扩展性 分区方式 垂直分区 对表的列进行</description>
    </item>
    
    <item>
      <title>Go语言的unsafe包</title>
      <link>https://blog.chongsheng.art/post/golang/unsafe/</link>
      <pubDate>Sun, 12 Jun 2022 22:11:54 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/golang/unsafe/</guid>
      <description>概念 Go指针使用上有很多限制，如不支持算数运算；对于任意两个指针值，可能不能转换到对方的类型。这种指针称为类型安全指针。 类型安全指针有助于我</description>
    </item>
    
    <item>
      <title>Go IO包</title>
      <link>https://blog.chongsheng.art/post/golang/package-io/</link>
      <pubDate>Sat, 16 Apr 2022 14:43:01 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/golang/package-io/</guid>
      <description>文件基本操作 创建空文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package main import ( &amp;#34;log&amp;#34; &amp;#34;os&amp;#34; ) var ( f *os.File err error ) func main() { f, err = os.Create(&amp;#34;test.txt&amp;#34;) if err != nil { panic(err) } defer f.Close() log.Println(f) } 裁剪文件 1</description>
    </item>
    
    <item>
      <title>Go语言的反射</title>
      <link>https://blog.chongsheng.art/post/golang/reflection/</link>
      <pubDate>Wed, 20 Jan 2021 14:09:52 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/golang/reflection/</guid>
      <description>概念 计算机科学中，反射是指程序在运行时可以访问、检测和修改它本身状态或行为的一种能力。 Go语言提供了一种机制在运行时更新变量和检查他们的值、</description>
    </item>
    
    <item>
      <title>Go语言的interface</title>
      <link>https://blog.chongsheng.art/post/golang/interface/</link>
      <pubDate>Mon, 18 Jan 2021 18:40:15 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/golang/interface/</guid>
      <description>接口 Go语言中的接口是一组方法的签名。 接口的本质是引入一个新的中间层，调用方可以通过接口与具体实现分离，解除上下游的耦合，上层的模块不再需要</description>
    </item>
    
    <item>
      <title>Cassandra 笔记[下]</title>
      <link>https://blog.chongsheng.art/post/arch/cassandra-2/</link>
      <pubDate>Wed, 20 May 2020 22:50:18 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/arch/cassandra-2/</guid>
      <description>写操作 基于MemTable和SSTable的设计，Cassandra写磁盘都是顺序写，没有seek操作，使得写操作非常快速。 基于commit</description>
    </item>
    
    <item>
      <title>Cassandra 笔记[上]</title>
      <link>https://blog.chongsheng.art/post/arch/cassandra-1/</link>
      <pubDate>Sun, 10 May 2020 23:52:27 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/arch/cassandra-1/</guid>
      <description>数据模型 一些概念： Column 一个键值对name/value pair 允许某些键没有值：稀疏存储，wide column宽列 包含附加属性：timestamps和</description>
    </item>
    
    <item>
      <title>设计模式介绍</title>
      <link>https://blog.chongsheng.art/post/design-pattern/intro/</link>
      <pubDate>Thu, 08 Aug 2019 22:32:39 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/intro/</guid>
      <description>创建型 创建型模式提供了创建对象的机制，能够提升已有代码的灵活性和可复用性。 框架给用户提供扩展能力： 工厂方法。框架中使用工厂接口创建实例，客户</description>
    </item>
    
    <item>
      <title>原型模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/prototype/</link>
      <pubDate>Sat, 03 Aug 2019 21:20:02 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/prototype/</guid>
      <description>亦称：克隆、Clone、Prototype 背景 假如有一个对象，希望生成与其完全相同的一个复制品，该如何实现呢？ 新建一个属于相同类的对象 遍历原</description>
    </item>
    
    <item>
      <title>建造者模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/builder/</link>
      <pubDate>Sat, 20 Jul 2019 22:17:45 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/builder/</guid>
      <description>亦称：生成器模式，builder 产品的构造需要繁杂的参数或者步骤，建造者模式建议将对象构造代码从产品类中抽取出来，并将这些步骤放在一个名为建</description>
    </item>
    
    <item>
      <title>抽象工厂模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/abstract-factory/</link>
      <pubDate>Tue, 16 Jul 2019 22:15:10 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/abstract-factory/</guid>
      <description>抽象工厂是一个接口，包含一系列创建对象的抽象方法，这些对象在逻辑上相关。 由抽象工厂的不同实现类实现对象的具体创建逻辑。 对比工厂方法模式，抽象</description>
    </item>
    
    <item>
      <title>工厂方法模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/factory-method/</link>
      <pubDate>Tue, 09 Jul 2019 22:10:56 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/factory-method/</guid>
      <description>工厂模式细分为三种类型： 简单工厂 工厂方法 抽象工厂 简单工厂是工厂方法的简化。 注意，工厂类的模式用来创建产品对象，这里的创建不一定真的是申请内存</description>
    </item>
    
    <item>
      <title>单例模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/singleton/</link>
      <pubDate>Wed, 03 Jul 2019 21:45:46 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/singleton/</guid>
      <description>亦称：Singleton 保证进程中一个类只有一个实例，并提供一个全局访问点。 单例模式能够保证类只有一个实例，即instance 有方法能从外部</description>
    </item>
    
    <item>
      <title>享元模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/flyweight/</link>
      <pubDate>Thu, 20 Jun 2019 22:46:10 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/flyweight/</guid>
      <description>亦称：缓存、Cache、Flyweight 享元是一种结构型设计模式，它摒弃了在每个对象中保存所有数据的方式，通过共享多个对象所共有的相同状态</description>
    </item>
    
    <item>
      <title>组合模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/composite/</link>
      <pubDate>Fri, 14 Jun 2019 21:44:18 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/composite/</guid>
      <description>组合模式用于将若干对象组合成树形结构，以表示&amp;quot;部分-整体&amp;quot;的层次结构。 使客户端对单个对象和组合对象的使用具有一致性。 只用</description>
    </item>
    
    <item>
      <title>桥接模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/bridge/</link>
      <pubDate>Tue, 04 Jun 2019 20:42:03 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/bridge/</guid>
      <description>如果实现系统可能有多维度分类，而每种分类都可能有变化，那么就把这种多维度分离出来，让他们独立变化，减少他们之间的强耦合。 桥接模式是一种结构型</description>
    </item>
    
    <item>
      <title>外观模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/facade/</link>
      <pubDate>Sun, 26 May 2019 22:39:26 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/facade/</guid>
      <description>亦称：门面模式， Facade [fəˈsɑːd] 门面模式为一组复杂的子系统对外提供统一的接口，定义一组高层接口使子系统更方便的被使用。 门面模式的思想更常</description>
    </item>
    
    <item>
      <title>适配器模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/adapter/</link>
      <pubDate>Sun, 19 May 2019 21:34:05 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/adapter/</guid>
      <description>将一个类的实现的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器模式可以看</description>
    </item>
    
    <item>
      <title>装饰器模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/wrapper/</link>
      <pubDate>Fri, 17 May 2019 22:30:56 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/wrapper/</guid>
      <description>装饰器模式允许通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。也称为Decorator,Wrapper [ˈræpər]。 背景 假</description>
    </item>
    
    <item>
      <title>代理模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/proxy/</link>
      <pubDate>Sat, 11 May 2019 22:28:39 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/proxy/</guid>
      <description>亦称： Proxy 背景 老代码中，调用了某个类去实现特定功能。新的需求：需要在调用前后增加其它的操作步骤。 为此去修改被调用的类或者客户端代码，都会对原有</description>
    </item>
    
    <item>
      <title>中介者模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/mediator/</link>
      <pubDate>Sat, 04 May 2019 20:51:46 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/mediator/</guid>
      <description>中介者模式会限制对象之间的直接交互，迫使它们通过一个中介者对象进行合作，能减少对象之间混乱无序的依赖关系。 背景 假如有一个创建和修改客户资料的</description>
    </item>
    
    <item>
      <title>命令模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/command/</link>
      <pubDate>Sat, 27 Apr 2019 22:13:49 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/command/</guid>
      <description>命令模式将调用请求转换为一个包含与请求相关的所有信息（请求执行者、请求参数）的独立对象，该对象包含一个可触发命令的执行方法。 该转换让你能将请</description>
    </item>
    
    <item>
      <title>备忘录模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/memonto/</link>
      <pubDate>Sun, 21 Apr 2019 22:28:08 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/memonto/</guid>
      <description>亦称： 快照、Snapshot、Memento 备忘录模式是一种行为设计模式，允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。 背景 假如</description>
    </item>
    
    <item>
      <title>访问者模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/visitor/</link>
      <pubDate>Sun, 14 Apr 2019 22:02:49 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/visitor/</guid>
      <description>访问者模式是一种行为设计模式，它能将算法与其所作用的对象隔离开。 访问者模式建议将新行为放入一个名为访问者的独立类中，而不是试图将其整合到已有</description>
    </item>
    
    <item>
      <title>迭代器模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/iterator/</link>
      <pubDate>Fri, 12 Apr 2019 22:18:19 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/iterator/</guid>
      <description>迭代器模式是一种行为设计模式，让你能在不暴露集合底层表现形式（列表、栈和树等）的情况下遍历集合中所有的元素。 背景 集合是编程中最常使用的数据类</description>
    </item>
    
    <item>
      <title>状态模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/state/</link>
      <pubDate>Tue, 02 Apr 2019 22:22:07 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/state/</guid>
      <description>状态模式让你能在一个对象的内部状态变化时改变其行为，使其看上去就像改变了自身所属的类一样。 状态模式与有限状态机的概念紧密相关。 主要思想是程序</description>
    </item>
    
    <item>
      <title>责任链模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/chain-of-responsibility/</link>
      <pubDate>Thu, 28 Mar 2019 22:52:02 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/chain-of-responsibility/</guid>
      <description>亦称：职责链模式、命令链、CoR、Chain of Command、Chain of Responsibility 责任链模式将请求沿着处理者链依次进行发送。收到请求后，每个处理者</description>
    </item>
    
    <item>
      <title>策略模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/strategy/</link>
      <pubDate>Sat, 23 Mar 2019 22:26:21 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/strategy/</guid>
      <description>策略模式定义了算法家族，分别封装起来，让它们之间可以互相替换。此模式让算法的变化不会影响到使用算法的客户。 背景 开发一款导游程序，该程序的核心</description>
    </item>
    
    <item>
      <title>模板方法模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/template-method/</link>
      <pubDate>Mon, 18 Mar 2019 22:45:11 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/template-method/</guid>
      <description>在超类/接口中定义一个算法的骨架，而将一些具体步骤的实现延迟到子类中。 模板方法使得子类可以不改变算法的步骤即可重定义该算法某些步骤的具体实现</description>
    </item>
    
    <item>
      <title>观察者模式</title>
      <link>https://blog.chongsheng.art/post/design-pattern/observer/</link>
      <pubDate>Sun, 10 Mar 2019 22:36:18 +0800</pubDate>
      
      <guid>https://blog.chongsheng.art/post/design-pattern/observer/</guid>
      <description>亦称：事件订阅、监听器、Listener、Observer 观察者模式定义了一种多对一的依赖关系，让多个观察者对象同时监听某一个主题对象。 当主</description>
    </item>
    
  </channel>
</rss>
