首页 > 新文章
  • Go 分布式学习利器(12)-- Go语言的扩展和复用 is a project mainly written in , based on the .Go语言无法天然支持继承,但是又想要实现面向对象的特性。 即父类对象 使用子类对象初始化,那么该父类对象调用的函数就是子类实现的函数 ,从而满足LSP(子类交换原则)。 案例一: Go语言 支持扩展父类的功能,如下代码: package oriented_testimport ("fmt""testing" )// Pet 类 t...

  • Go 分布式学习利器(14)-- Go语言的错误处理 is a project mainly written in , based on the .1. Go 的错误机制 Go 语言的错误机制中与其他语言的主要差异如下: 没有异常机制error 类型实现了 error接口type error interface {Error() string } 可以通过errors.New来快速创建错误实例errors.New(" num is not in range[0,100]")...

  • Rocksdb 的一些参数调优策略 is a project mainly written in , based on the .文章目录写性能优化CF write buffer sizeDB write buffer size读性能优化block cachebloom filterCompression 压缩Compaction优化通用workload的配置...

  • Go 分布式学习利器(15) -- Go 实现 深搜和广搜 is a project mainly written in , based on the .强化语法,回顾算法。 通过Go语言实现 深度优先搜索 和 广度优先搜索,来查找社交网络中的三度好友关系(三度指的是一个节点到 其相邻节点 到 其相邻节点的节点 ,图递增三层好友关系)。 涉及到的Go语言语法: Go的封装特性空接口和 断言数组的切片特性Go 实现的双向链表库 – container/list 实现基本的搜索算法...

  • 磁盘I:O 性能指标 以及 如何通过 fio 对nvme ssd,optane ssd, pmem 性能摸底 is a project mainly written in , based on the .文章目录1. 磁盘I/O性能指标1.1 性能指标1.2 I/O 观测1.2.1 磁盘I/O 观测1.2.2 进程I/O观测2. Fio 性能测试2.1 环境准备2.2 测试维度选择2.3 测试2.3.1 optane ssd和nvme ssd性能测试2.3.2 aep性能测试(intel persistent memory)...

  • Rocksdb 的优秀代码(一) -- 工业级分桶算法实现分位数p50,p99,p9999 is a project mainly written in , based on the .文章目录基本概念普通的分位数计算Rocksdb中的应用rocksdb中的分桶算法结果展示rocksdb 分桶算法实现一些总结 和 相关论文...

  • Go 分布式学习利器(16) -- go中可复用的package构建 is a project mainly written in , based on the .通过本文,你将了解go 语言中如何将自己的package构建到项目中 以及如何将远程(github)的package构建到项目中。 1. 构建本地的package package 是可复用模块的基本单元,以首字母大写的函数实现来表明可被包外代码访问代码的package可以和所在路径的代码不一致同一目录里的Go 代码的package...

  • 一文运维zookeeper is a project mainly written in , based on the .文章目录1. zookeeper生产环境的安装配置1.1 软件配置1.2 硬件配置1.3 日志配置文件1.4 配置三节点的zookeeper集群2. zookeeper的监控方法2.1 four letters命令2.2 JMX 监控方式3. 通过zookeeper observer实现跨地域部署3.1 什么是observer3.2...

  • Go 语言实现字符串匹配算法 -- BF(Brute Force) 和 RK(Rabin Karp) is a project mainly written in , based on the .今天介绍两种基础的字符串匹配算法,当然核心还是熟悉一下Go的语法,巩固一下基础知识 BF(Brute Force)RK(Rabin Karp) 源字符串:src, 目标字符串:dest; 确认dest是否是src 的一部分。 BF算法很简单暴力,维护两个下标i,j,i控制src的遍历顺序, j控制dest遍历顺序。 记录一下i的...

  • Zookeeper ZAB协议原理浅析 is a project mainly written in , based on the .文章目录前言1. 基本角色和概念2. Leader Election3. Discovery4. Synchronization5. BroadCast后记...

  • Go 分布式学习利器(17)-- Go并发编程之协程机制:Grountine 原理及使用 is a project mainly written in , based on the .文章目录1. Thread VS Groutine2. Groutine 调度原理3. Groutine 示例代码...

  • NVME CLI -- nvme 命令查看NVME设备内部状态 is a project mainly written in , based on the .文章目录NVME 和 AHCI 性能比较NVME-CLI nvme工具使用1. 安装2. 命令综述3. 基本命令演示4. NVME 固件设备升级...

  • Go 分布式学习利器(19)-- Go并发编程 之 CSP(communicating sequential processes) 机制 is a project mainly written in , based on the .文章目录前言CSP 特点CSP代码 演示1. 正常流程的代码2. CSP 未设置buffer 代码3. 设置指定大小的channel buffer总结...

  • Go 分布式学习利器(18)-- Go并发编程之lock+WaitGroup实现线程安全 is a project mainly written in , based on the .Go语言中通过Groutine 启动一个Go协程,不同协程之间是并发执行的,就像C++/Java中线程之间线程安全是一个常见的问题。 如下Go 语言代码: func TestConcurrent(t *testing.T) {var counter int = 0for i := 0;i < 5000; i ++{go func()...

  • Go 分布式学习利器(20)-- Go并发编程之多路选择和超时控制,channel的关闭和广播 is a project mainly written in , based on the .Select 多路选择 基本使用语法如下: select { case ret := <-retCh1: //阻塞事件,等待channel1的消息t.Logf("result %s ",ret) case ret := <-retCh2:t.Logf("result %s ", rest) default :t.Error...

  • Rocksdb Iterator实现:从DBIter 到 TwoLevelIter 的漫长链路 is a project mainly written in , based on the .文章目录1. 迭代器简单介绍2. 迭代器用户态相关接口3. 迭代器内部架构4. 迭代器的入口实现4.1 DBIter4.2 MergingIterator4.3 Memtable系列Iterator4.4 LevelIterator 和 TwoLevelIterator...

  • 从paxos到raft zab,为何raft能够“独领风骚” is a project mainly written in , based on the .文章目录RAFT出现的缘由RAFT 的实现STATE MACHINELog Replicated State MachineLeader Election基本角色关键变量基本选举过程Log Replicated基本概念基本操作SafetyLog Replication: Consistency checkLeader Election...

  • FlameScope 更高级全面的火焰图 is a project mainly written in , based on the .文章目录FlameScope 更高级全面的火焰图安装步骤安装问题fix使用方式...

  • LSM 优化系列(六)-- 【ATC‘20】MatrixKV : NVM 的PMEM 在 LSM-tree的write stall和写放大上的优化 is a project mainly written in , based on the .文章目录LSM 问题背景MatrixKV 设计细节整体架构介绍Matrix Container介绍ReceiverRowTableCompactorSpace managementColumn Compaction介绍对于Column Compaction的总结读加速 Cross-row Hint SearchMatrixKv 写入完...

  • Intel Optane PMEM 概览 is a project mainly written in , based on the .文章目录前言基本架构编程模型PMDK接口架构接口概览pmdk 安装开发文档汇总PMEM性能官方性能实测性能...