自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (10)
  • 收藏
  • 关注

翻译 pod亲和性和反亲和性

背景:实际使用中,如果希望2个pod在一个node上,那么可以用到node的亲和性,或者使用pod亲和性。如果希望2个io密集型或者2个CPU密集型的pod不在一个node上,就可以用到pod的反亲和性。一般情况下我们部署的 Pod 是通过集群的自动调度策略来选择节点的,默认情况下调度器考虑的是资源足够,并且负载尽量平均,但是有的时候我们需要能够更加细粒度的去控制 Pod 的调度,比如我们内部的一些服务 gitlab 之类的也是跑在Kubernetes集群上的,我们就不希望对外的一些服务和内部的服务跑在

2021-04-26 15:27:41 2289

原创 Linux文件系统庖丁解牛

相信搞软件开发的同学对文件系统都有一定的了解,即使不是做软件开发工作的同学对文件系统也有感性的认识。其实回忆一下,无论是Linux操作系统也好,还是Windows或者Mac也好,在我们普通用户的视角看到的其实就是一个个文件。比如电影是用视频文件存储,也就是表示某种视频格式的文件;音乐是用音频文件存储的,像mp3、wave和midi等等格式;图像是用图片文件格式存储的,像png、jpg和bmp等等。...

2020-01-18 23:21:05 288

原创 Unikernel:从不入门到入门

Unikernel:从不入门到入门Unikernels: Beyond Containers to the Next Generation of Cloud是Russ Pavlicek的一本动物书(虽然是 O’Reilly 的,但是封面不是动物,是石榴),这本书对 Unikernel 有着比较全面的介绍,而且电子书是免费的,值得一读。啥是 Unikernel?从 2014 ...

2020-01-07 07:32:37 431

原创 go-raft实现

说明goraft是Raft协议的Golang版本的实现,项目地址为:goraft/raft。整个代码质量较高,值得仔细品味。因此,整理了该博文探究下其内部实现。数据结构goraft主要抽象了server、peer和log三个结构,分别代表服务节点、Follower节点和日志。serverRaft作为一种多节点状态一致性维护协议,运行过程中必然涉及到多个物理节点,server就是用来抽象其中的每个节...

2018-04-17 22:12:40 10922 2

原创 Raft协议详解

说明 分布式存储系统通常通过维护多个副本来进行容错,提高系统的可用性。要实现此目标,就必须要解决分布式存储系统的最核心问题:维护多个副本的一致性。 首先需要解释一下什么是一致性(consensus),它是构建具有容错性(fault-tolerant)的分布式系统的基础。 在一个具有一致性的性质的集群里面,同一时刻所有的结点对存储在其中的某个值都有相同的结果,即对其共享的存...

2018-04-17 22:09:59 9610 2

转载 从B 树、B+ 树、B* 树谈到R 树

从B 树、B+ 树、B* 树谈到R 树 作者:July、weedge、Frankie。编程艺术室出品。说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。 第一节、B树、B+树、B*

2018-01-15 22:19:38 267

原创 rpc王者—gRPC框架-熊文武-专题视频课程

学习grpc的原理和编程

2017-12-22 09:18:37 1332

原创 redis全攻略-熊文武-专题视频课程

redis教程实战

2017-11-17 09:21:14 183

原创 mongodb详细入门教程-熊文武-专题视频课程

从初级开始讲解mongodb基础知识,一步步引导,直到学会mongodb的基本使用和内部原理;

2017-11-14 10:35:56 147

原创 NodeJs深入浅出-熊文武-专题视频课程

NodeJs深入浅出

2017-10-27 08:44:32 178

原创 go语言实战—详细的golang视频实战教程-熊文武-专题视频课程

go语言实战培训视频教程:本课程将给不熟悉go语言或者想进一步研究go的同学提供一个完整的教学视频,全部以代码教学,拒绝ppt。Go语言的环境设置、工具安装、部署、变量、运算符等入门知识,还涉及Go函数、Go的数据结构,方法接口、Go语言并发、反射等开发实战内容。采用go语言代码教学。...

2017-10-10 08:37:05 1611 1

原创 疑问:python单进程为何使用了380%的CPU?

python GIL

2017-09-22 20:01:33 734 2

原创 kafka原理剖析与实战演练-熊文武-专题视频课程

这是一门对kafka进行原理分析和技术实战的课程

2017-09-01 08:50:40 206

原创 go语言编程实战-熊文武-专题视频课程

主要介绍Go语言相关的技术开发。本视频教程适合Go语言初学者。

2017-08-29 08:39:10 153

原创 dubbo深入浅出-熊文武-专题视频课程

Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

2017-08-22 12:41:40 187

转载 tortoisegit集成git-review

http://loiy.net/post/524.html在上一篇《入门git简明指南》中介绍了git常用的基本操作。本文主要介绍使用TortoiseGit来进行操作,并且结合Gerrit来进行Code Review。本文不涉及Gerrit的安装教程。主要是Git、TortoiseGit、Gerrit的基本使用教程。

2017-08-16 14:05:35 1047

原创 openstack从入门到精通—基于Ocata版本-熊文武-专题视频课程

本课程详细地介绍了openstack的原理,部署过程,全部为现场搭环境一步步实战操作,真正带你走进openstack的世界

2017-06-26 09:08:50 286

原创 notes

1.通过 neutron 配置的网络拓扑信息会保存在 OVN Northbound DB 里面,ovn-northd 会根据这些信息来转成 logical flow,然后写到 Southbound DB 的表 Logical_Flow 里,每个计算节点上的 ovn-controller 会把 logical flow 转换成 Openflow flow 配到本地的 br-int 里面,用来

2017-04-07 16:21:10 364

原创 TCP/IP详解学习笔记(10)-TCP连接的建立与中止

openstack kilo版本部署ceph H版本 环境: controller:10.127.138.40 compute1: 10.127.138.131 compute2: 10.127.138.41 network: 10.127.138.1541.controller节点: apt-get install ceph-deploy mkdir ceph-deploy; cd

2017-03-09 16:58:13 430

原创 Kilo Neutron配置文件

kilo neutron配置文件 1.1 controller节点: 1.1.1:root@controller:~#cat /etc/neutron/neutron.conf [DEFAULT]rpc_backend = rabbitauth_strategy = keystoneservice_plugins = routerallow_

2017-03-08 19:40:35 1043

转载 KVM/Qemu 工作原理系列目录

一 虚拟化框架与CPU虚拟化1. KVM基本架构与流程1.1 Qemu 用户态架构1.2 Qemu 内核态架构 2.CPU虚拟化2.1 Qemu用户态Machine 与 Cpu管理2.2 内核VMX基本数据结构与操作2.3 VMCS2.4 VM-Entry 与 VM-Exit2.5 CPU虚拟化情景分析 3.内存虚拟化3.1 Qemu KVM内存

2017-02-28 09:47:21 2954

原创 GoLang实现一致性哈希算法

直接上代码,windows7,go1.7下直接运行。package mainimport ( "fmt" "sort" "strconv" "hash/crc32" "sync")const DEFAULT_REPLICAS = 160type HashRing []uint32func (c HashRing) Len() int { return

2017-01-21 15:18:17 2731

转载 Linux内核IP Queue机制的分析(一)

将会通过包括本文在内的三篇文章,对IP Queue机制从用户态的应用到内核态的模块程序设计进行分析。三篇文章的题目分别是:Linux内核IP Queue机制的分析(一)——用户态接收数据包Linux内核IP Queue机制的分析(二)——用户态处理并回传数据包Linux内核IP Queue机制的分析(三)——内核态ip_queue代码分析笔者希望通过这三篇文章,能够

2017-01-19 18:14:07 1375

转载 Linux内核IP Queue机制的分析(二)——用户态处理并回传数据包

本文分析用户态接收到IP Queue的数据包后,根据数据包的相关信息决定数据包的下一步处理,并将处理后的数据包和处理的结果传递到内核态。文中如有任何疏漏和差错,欢迎各位朋友指正。       本文欢迎自由转载,但请标明出处,并保证本文的完整性。      作者:Godbach      日期:2009/02/19     一、处理IP Queue数据

2017-01-19 18:03:31 415

转载 ip_queue应用层编程

Linux内核在Netfilter框架的基础上提供了IP Queue机制,从而使得基于用户态的防火墙开发成为可能。从而可以在用户态对报文内容进行分析,同时可以给出对这个报文的处理意见,也可以修改报文。简单介绍一下NF中各个钩子(hook)函数对数据包处理的返回值,即该函数告诉内核对该数据包的处理意见。NF_DROP: 丢弃该报文,释放所有与该报文相关的资源;NF_ACCEP

2017-01-19 11:31:47 555

原创 Golang中结构体转byte数组

func bb(){ buf := new(bytes.Buffer) var data = []interface{}{ uint16(61374), int8(-54), uint8(254), } for _, v := range data { err := binary.Write(buf, b

2017-01-11 19:11:59 12391

原创 利用losetup创建本地loop磁盘

1,创建镜像文件        用如下命令创建镜像文件sdb.img,bs指定block大小,镜像文件大小为bs*count        dd if=/dev/zero of=sdb.img bs=512 count=163842,用losetup命令将生成的镜像文件与loop device设备关联        用如下命令将sdb.img镜像文件与/dev/loop0设备关联

2017-01-11 19:07:11 871

翻译 使用qemu-nbd挂载qcow2文件

1. 加载 nbd 驱动某些版本的 Linux 不加 max_part 参数会导致没有没有设备节点 /dev/nbd0p{1,2,3,4…} 等. 用 kpartx 也不行.$ sudo modprobe nbd max_part=8备注信息:查看Linux 模块信息(modinfo),例如查看nbd模块的参数[plain] 

2017-01-11 16:34:12 3565

转载 大话ceph crush

引言那么问题来了,把一份数据存到一群Server中分几步?Ceph的答案是:两步。计算PG计算OSD计算PG首先,要明确Ceph的一个规定:在Ceph中,一切皆对象。不论是视频,文本,照片等一切格式的数据,Ceph统一将其看作是对象,因为追其根源,所有的数据都是二进制数据保存于磁盘上,所以每一份二进制数据都看成一个对象,不以它们的格式来区分他们。那么

2017-01-03 21:57:05 1984

翻译 openstack配置项自动生成方法

This information was valid at the time this article was written (juno-2).UPDATE: Fixed Cinder, Heat and Ironic generate_sample.sh commands. Thanks Mike Spreitzer.Each OpenStack project is a bi

2017-01-03 21:15:09 643

转载 自动化生成 Openstack 新项目开发框架

前言OpenStack Developer 应该都知道, 开发一个 Openstack 的新项目并不是一个从 0 到 1 的过程, 而是在一个 Project Template 的框架中, 为其填充 API/DB/Manager 等代码定义和实现. 一般来说, 搭建这个 Template 框架并不困难, 只是太过繁琐. 本篇推荐的开源小项目, 可以非常帮助我们完成这些繁琐的工作, 用法

2017-01-03 18:11:47 471

原创 ceph pg数量调整

1.计算合适的pg数关于pg数值的合理值的计算参考 http://ceph.com/pgcalc/ 。但是请谨记,在你真正还是调整pg前,请确保集群状态是健康的。2.调整前确保状态ok如果 ceph -s 命令显示的集群状态是OK的,此时就可以动态的增大pg的值。注意: 增大pg有几个步骤,同时必须比较平滑的增大,不能一次性调的太猛。对于生产环境格外注意。

2016-12-30 13:57:53 8235 1

翻译 neutron callback system

In Neutron, core and service components may need to cooperate during the execution of certain operations, or they may need to react upon the occurrence of certain events. For instance, when a Neutron

2016-12-27 15:23:45 687

原创 利用dd迁移机器到openstack上

1.拷贝整个系统盘dd if=/dev/sda of=~/disk1.img,若磁盘过大,可以拷贝系统盘分区,比如dd if=/dev/sda1 of=~/vm.img2.查看上面的复制进度:#kill -USR1 dd进程号3.将镜像文件挂载:losetup -f vm.img root@debian:/opt#losetup -a /dev/loop0: [0801]:417805 (/op

2016-12-01 18:21:50 893 1

转载 TCP/IP详解学习笔记(10)-TCP连接的建立与中止

来自 TCP是一个面向连接的协议,所以在连接双方发送数据之前,都需要首先建立一条连接。这和前面讲到的协议完全不同。前面讲的所有协议都只是发送数据而已,大多数都不关心发送的数据是不是送到,UDP尤其明显,从编程的角度来说,UDP编程也要简单的多—-UDP都不用考虑数据分片。书中用telnet登陆退出来解释TCP协议连接的建立和中止的过程,可以看到,TCP连接的建立可以简单的称为三次握手,而连接的中止

2016-11-25 09:37:48 284

原创 golang使用protobuf例子

安装1.go get github.com/golang/protobuf; 2.进入gopath的protobuf目录,执行make&&make install,在gopath/bin目录下生成proto相关工具;使用1.执行命令vim msg.proto新建一个名为msg.proto的文件,并将其打开,在其中输入如下内容:package demo;//go中导出结构体、方法必须大写mess

2016-11-22 18:16:15 6154

原创 部署etcd

部署环境 为了方便部署过程只在通过IP指定无需修改host文件指定hostname。 只在一台机器搭建集群通过端口地址不同来区别。       192.168.100.128:2381       192.168.100.128:2382       192.168.100.128:2383   github 集群搭建地址:https://github.com/coreos/etcd/blob/m

2016-11-22 10:15:34 426

翻译 leveldb安装和例子

os: ubuntu 14.04 ltsleveldb version=1.19安装cd leveldbmake此时leveldb/下多出out-shared和out-static目录,其中out-shared/下有:db db_bench helpers libleveldb.so libleveldb.so.1 libleveldb.so.1.19 port table util

2016-11-21 19:28:28 2765

翻译 三种增删osd的方法数据量迁移大小

一、前言之前有写过一篇删除OSD的正确方式,里面只是简单的讲了下删除的方式怎样能减少迁移量,本篇属于一个扩展,讲述了 Ceph 运维当中经常出现的坏盘提换盘的步骤的优化基础环境两台主机每台主机8个 OSD,一共 16 个 OSD,副本设置为2,PG 数设置为800,计算下来平均每个 OSD 上的 P G数目为100个,本篇将通过数据来分析不同的处理方法的差别开始测试前先

2016-11-10 20:07:27 3646 1

转载 linux 原始套接字解析

我们平常所用到的网络编程都是在应用层收发数据,每个程序只能收到发给自己的数据,即每个程序只能收到来自该程序绑定的端口的数据。收到的数据往往只包括应用层数据。某些情况下我们需要执行更底层的操作,比如监听所有本机收发的数据、修改报头等。通过原始套接字,我们可以抓取所有发送到本机的IP包(包括IP头和TCP/UDP/ICMP包头),也可以抓取所有本机收到的帧(包括数据链路层协议头)。普通的套接字

2016-11-08 22:04:32 477

多项式除法

本程序是依据欧几里得算法计算多项式除法的程序; 程序的目的是计算有限域上的多项式除法,所以本程 序只在除数多项式首项系数为1的情况下可以正确求解。 要使得本程序可以通用,需要将Node结构体的系数coff 类型改为double,再稍作调整。

2012-04-27

如何编写动态链接库

教你如何编写DLL动态链接库程序,从头到尾都有详细的截图步骤

2012-04-16

C/C++经典程序100例

里面都是一些c怨言 c++语言学习的好例子,可以很好地帮你掌握c的学习

2012-04-13

51单片机串口通信 密码锁

51单片机的串口通讯开发详解 密码锁开发详解 程序全部可以运行

2011-05-19

ldpc 编解码程序

本人一年多的开发心血,吐血奉献出来 ldpc编解码的全部程序 c语言编写

2011-05-19

rs编码解码全部程序

介绍了rs码从头到尾设计的全过程,各个部分的子程序都有,通过验证

2011-05-17

水滴石穿c语言十二个系列全部

认真深入研究C语言的必备资料,读完豁朗开朗,成为C语言高手必读

2011-05-03

夏宇闻著Verilog数字系统设计教程word版

最好的FPGA语言学习教程,保证能够让你入门,精通verilog的学习

2011-03-21

ccs3.3使用教程 dsp课程设计

ccs入门教程 帮助初学者快速掌握CCS的学习,进一步学习参考其他书籍

2011-03-21

用单片机进行方波发生器的设计.doc

用单片机进行方波发生器的设计,特别适合单片机的初学者

2009-04-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除