自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yjf147369的博客

JeffYang博客

  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 qemu-kvm 性能优化小结(一)

应公司要求最近作者一直在调研虚机性能优化相关的技术,不得不说相关技术博大且精深,我也不得不在这些技术上面花费了相当长的时间与精力。也导致了我的文章断更了很长时间。现在稍稍有些时间,对这一段时间的工作做一下总结,希望对大家能有所帮助。由于技术的广泛性我计划使用两篇文档来总结概述这些技术:第一篇文档介绍宿主机调优,和存储调优;第二篇文档主要集中在介绍各种网络调优方案。这些内容都是本人根据自己理解整理出来的,由于很多技术本人也是刚刚接触,如果文章有误,欢迎批评指正。

2022-11-27 16:02:43 2236 2

原创 NAT 技术概览(二)

上一章我们提到 p2p 最大的障碍就是无处不在的 NAPT(网络端口地址转换),NAPT 是一种 NAT(网络地址转换) 技术,这一章节我们就来介绍一下 NAT 技术。

2022-10-30 16:24:26 4957

原创 P2P 技术概述(一)

P2P (Peer to Peer,点对点) 是一种分布式网络应用架构,其各个交互实体都是对等的,这里对等是指各交互实体是在网络中同等特权、同等能力的参与者(后面我们会使用对等体称呼这些交互实体或者叫参与者),这些对等体共同形成了一个点对点的节点网络。

2022-10-20 19:16:42 2597

原创 golang 结构体标签 -- struct tag (八)

结构体标签可以说是 golang 中一个比较有特殊的特性。在讲解 golang 结构体标签之前我们先来看一个结构体标签最常用的场景。有过 web 后端编程的经验的伙伴们应该都会有这样的感受,后端程序处理数据的流程可以抽象为:1、**接受前端请求->处理请求->业务数据写入数据库**;2、**从数据库读取数据->处理业务->向前端返回数据**。

2022-09-30 16:49:46 1843

翻译 golang 类型断言 VS 类型转换(七)

golang 中类型断言和类型转换两个概念很容易困惑,它们看上去提供了相同的功能(把变量从一个类型转到类型)。但是 golang 为什么会有两个功能相似的概念呢?那么在本文中,我们将了解类型断言和类型转换本质的区别,并深入了解在 go 中使用它们会发生什么?

2022-09-15 20:04:54 253

原创 可横向扩展的高并发的七层负载均衡器方案

在我们搭建 openstack 或者 kubernetes 或者其他集群时,我们通常会被要求集群支持高可用,一个通用的解决方案就是:keepalived + haproxy/nginx。这个模式在大多数场景都够用了,但是有时我们会遇到一些要求高并发高负载的场景,如果只是简单的 keepalived + haproxy/nginx 方式就不够用了。这篇文档主要时回顾一下我在过往工作经历中为搭建高负载的 openstack 或者 k8s 集群,整理一些负载均衡器的方案供大家参考,接下来我从简单到复杂一一为大家介

2022-09-09 20:10:28 614

原创 golang 并发同步(sync 库)-- 单例模式的实现(六)

在前面章节golang 并发–goroutine(四)我们讲过 golang 是天生支持高并发的语言。那么有并发必然涉及到线程安全的问题,为了防止多个 go 程同时操作同一个临界资源,我们必然需要引入锁,golang 内置库 sync 就是为我们提供锁的操作方法的。这篇文章我们通过一些例子来看一看 sync 库怎么用。

2022-09-04 19:31:23 1249

原创 k8s 1.24 及以后版本如何对接 docker

关注 k8s 的小伙伴门都知道在 k8s 1.24 版 dockershim 代码正式的从 k8s 移除了。这也就意味着k8s 与 docker 的对接再也不像以前那么丝滑了。这篇文档记录一下我在使用 docker 作为 CRI 插件时部署 k8s 的步骤。我依然借助 kubeadm 来部署 k8s,关于 kubeadm 的使用可以参考我前面的文档,和这篇文档重复的步骤我就不在这儿写了,我们只关注和 docker 相关的部分。............

2022-08-31 19:46:00 8042

原创 golang 信道的讲解与应用--channel(五)

其实关于 golang 信道网上资料很多很全面了,个人感觉也没什么需要特别注意的坑。但是为了 golang 系列的的完整性,我还是开了这一篇博客,为大家提供一些 golang 使用的例子,多一些参考文档。在上一篇中我们提到 golang 通过 go 程提供了非常优秀的高并发能力,那么 go 程之间的通信就是通过 channel 来进行的。和 go 程一样,golang 在语法上就支持 channel,golang 为 chennle 专门实现了一种变量类型 chan。

2022-08-24 21:14:05 299

原创 多维度聊一聊 k8s 和 openstack

k8s 和 openstack 无疑是当今云计算领域的两大巨头,它们分别占据着 IaaS 和 PaaS 领域的事实标准,经常被拿来一起比较。我记得大概在三四年前 k8s 如火如荼的发展的时候,“openstack 已死”,“openstack 没落了”之类的文章层出不穷。但是这么年过去了 openstack 老当益壮依然在云计算领域占有重要地位,而且还有一个多月,openstack 字母表的最后一个版本就要发布了,可喜可贺。这篇文章,我们再来仔细的对比一下 openstack 和 k8s。

2022-08-21 17:51:50 2883 1

原创 golang 并发--goroutine(四)

golang 语言最大的特点之一就是语法上支持并发,通过简单的语法很容易就能创建一个 go 程,这就使得 golang 天生适合写高并发的程序。这一章节我们就主要介绍 go 程,但是要想完全理解 go 程我们需要深入研究 GPM 模型,关于 GPM 模型网上已经有很多资料了,这里就不过多介绍了,有兴趣的同学可以请教度娘,这一章节还是主要关注应用层面,主要强调在我们写程序时一下需要注意的点并且给出一些代码示例方便我们理解。.........

2022-08-17 19:32:54 438

原创 golang 内存那些事--如何快速分配内存,减少系统 GC (三)

在写这一章节的适合我在考虑关于 golang 内存管理到底要讲到什么程度,毕竟 golang 的内存管理尤其是 golang 的 gc 机制是一门复杂的哲学,非万字长文是说不明白的,我又在晚上搜索了一圈发现网上已经有了很好的讲解 golang gc 的文档,文档链接我放在了末尾。这篇文档还是本着实用的原则通过各种例子来讲解 golang 的内存,不会过多涉及 golang 底层实现机制。............

2022-08-14 18:43:22 843

原创 golang 函数参数传递--指针,引用和值(二)

这一章节我们来分析一下 golang 值,指针,引用的区别。在大学我们学习 C 语言对值和指针已经有足够了解了,但是引用这个概念是在更高级的语言中引入的,比如 java,引用和指针很像,但是它和指针有上面区别呢?为什么需要应用?。接下来我们通过一些示例一一了解他们。.........

2022-08-14 18:32:44 2671

原创 golang linux下安装、环境变量配置、快速体验 beego(一)

最近计划写一系列关于 golang 的博客。回顾一下我在学习 golang 的过程中遇到的一些比较难以理解的知识点,整理我对这些知识点个人的理解并做个记录,也希望对大家学习 golang 有所帮助。我并不打算写教程性质的文档,网上这样的文档已经有很多了,我只会针对 golang 的某个知识点做分析,如果你在学习 golang 的过程中有不理解的地方请在评论区留言,我可共同讨论分析,如果文章有不正确的地方,期望大家的反馈,我们共同学习,共同进步。...............

2022-08-13 20:48:52 1096

原创 在国内通过 kubeadm 部署 k8s (基于 openEuler 22.03)

最近公司业务适配国产化操作,我们计划采用华为开源的 openEuler 系统。又由于 k8s 在公司业务中占很大一块。所以我优先尝试使用 kubeadm 在 openEuler 上部署 k8s。在国内通过 kubeadm 部署 k8s 的难点在于资源的下载,k8s 很多官方资源仓库都被防火墙屏蔽了,这么文档就展示了如何使用国内镜像仓库通过 kubeadm 部署 k8s。...

2022-08-11 14:35:58 1564

原创 弱网神器:quic-tun(在存在丢包的网络环境中成倍的提升 TCP 性能)

由于 QUIC 是一个新型的传输层协议,出现时间比较晚,像 HTTP3 这种应用具有后发优势,能很容易的使用上 QUIC 协议,但是目前据大部分应用还都是基于 TCP 的,QUIC 的普及还需要相当长的一段时间。那么有没有别的办法能让传统 TCP 应用间接的使用上 QUIC 呢?答案显而易见,当然是有:就是今天我想向大家介绍的 quic-tun。...

2022-08-10 08:44:32 842

原创 linux进程资源限制

linux进程可分为前台进程、后台进程、守护进程前台进程、后台进程没有脱离shell,其父进程都为shell进程,其资源限制也继承至相应shell进程,可用ulimit工具修改其资源限制ulimit -a 查看当前shell所有资源限制ulimit -n 查看当前shell能打开的文件总数参考文档:https://www.ibm.com/developerworks/cn/linux/l-...

2019-05-14 10:07:22 1664

原创 基于octaiva负载均衡器横向扩展的实现

该功能的实现参照了社区的spec:https://docs.openstack.org/octavia/latest/contributor/specs/version1.1/active-active-l3-distributor.html实现代码:https://github.com/jeffyjf/octavia/tree/ct_dev由于代码并未完全参照社区spec,并且初步实现代码比...

2019-05-14 09:35:40 523

原创 linux nc/ncat 命令详解

Concatenate and redirect sockets(连接并重定向套接字) 在centos7上nc和ncat是同一个工具 nc/ncat是一个功能丰富的网络实用程序,可通过命令行在网络上读写数据。 它旨在成为一种可靠的后端工具,可立即为其他应用程序和用户提供网络连接。 nc/ncat不仅可以使用IPv4和IPv6,还可以为用户提供几乎无限的潜在用途。语法nc [-hln...

2018-04-24 14:02:49 7093 2

原创 搭建本地yum源,离线安装openstack

搭建本地openstack yum源yum install centos-release-openstack-pikeyum install https://rdoproject.org/repos/rdo-release.rpmyum -y install reposyncreposync -p <存放目录> #我这里直接把同步下来的目录放在了/var/www/html目录...

2018-04-23 16:25:09 5734

原创 openstack octavia手工部署

一、创建数据库mysql> CREATE DATABASE octavia;mysql> GRANT ALL PRIVILEGES ON octavia.* TO 'octavia'@'localhost' IDENTIFIED BY 'OCTAVIA_DBPASS';mysql> GRANT ALL PRIVILEGES ON octavia.* TO 'octavi...

2018-04-23 15:46:01 3780 4

mysql-lib-arm.tar.gz

使用arm板访问MySQL数据库是需要的库

2015-06-11

keil中文版

开发单片机C语言,包括51系列,ARM,AVR系列。单片机C语言与一般C语言语法一致,学习简单。

2013-09-19

空空如也

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

TA关注的人

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