自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

转载 全网最详细的 K8s Service 不能访问排查流程

全网最详细的 K8s Service 不能访问排查流程https://cloud.tencent.com/developer/article/16975512020-09-15阅读3420对于新安装的 Kubernetes,经常出现的一个问题是 Service 没有正常工作。如果您已经运行了 Deployment 并创建了一个 Service,但是当您尝试访问它时没有得到响应,希望这份文档能帮助您找出问题所在。先来熟悉下Service工作逻辑:为了完成本次演练的目的,...

2021-05-21 15:13:19 1598

转载 Linux 虚拟网络设备 veth-pair 详解,看这一篇就够了

Linux 虚拟网络设备 veth-pair 详解,看这一篇就够了本文首发于我的公众号Linux云计算网络(id: cloud_dev),专注于干货分享,号内有10T书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫。前面这篇文章介绍了 tap/tun 设备之后,大家应该对虚拟网络设备有了一定的了解,本文来看另外一种虚拟网络设备 veth-pair。01 veth-pair 是什么#顾名思义,veth-pair 就是一对的虚拟设备接口,和 tap/tun ...

2021-05-10 17:57:11 1367

转载 从零开始入门|Kubernetes 中的服务发现与负载均衡

作者 | 阿里巴巴技术专家 溪恒一、需求来源为什么需要服务发现在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的, 而 pod 生命周期是短暂的。在 pod 的生命周期过程中,比如它创建或销毁,它的 IP 地址都会发生变化,这样就不能使用传统的部署方式,不能指定 IP 去访问指定的应用。另外在 K8s 的应用部署里,之前虽然学习了 deploy

2021-04-13 16:47:29 189

转载 【Kubernetes系列】第10篇 网络原理解析(下篇)

3. 覆盖网络 - Overlay Network覆盖网络(overlay network)是将TCP数据包装在另一种网络包里面进行路由转发和通信的技术。Overlay网络不是默认必须的,但是它们在特定场景下非常有用。比如当我们没有足够的IP空间,或者网络无法处理额外路由,抑或当我们需要Overlay提供的某些额外管理特性。一个常见的场景是当云提供商的路由表能处理的路由数是有限制时,例如AWS路由表最多支持50条路由才不至于影响网络性能。因此如果我们有超过50个Kubernetes节点,AWS路由表将不

2021-04-13 16:43:38 145

原创 linux查看某一个进程的socket连接数

1.ss -ntp | grep 进程名| wc -l2. ls /proc/38648/fd -l | wc -l 38648为进程pid3. lsof -p 38648 | wc -l 38648为进程pid

2021-03-19 17:19:38 3254

转载 Kubernetes学习之路(二十)之K8S组件运行原理详解总结

目录一、看图说K8S 二、K8S的概念和术语 三、K8S集群组件 1、Master组件 2、Node组件 3、核心附件 四、K8S的网络模型 五、Kubernetes的核心对象详解 1、Pod资源对象 2、Controller 3、Service 一、看图说K8S先从一张大图来观看一下K8S是如何运作的,再具体去细化K8S的概念、组件以及网络模型。从上图,我们可以看到K8S组件和逻辑及其复杂,但是这并不可怕,我们从宏观上先了解K8S是怎么用的,.

2021-03-03 16:21:06 498 1

转载 k8s通过service访问pod(五)--技术流ken

k8s通过service访问pod(五)--技术流kenservice每个 Pod 都有自己的 IP 地址。当 controller 用新 Pod 替代发生故障的 Pod 时,新 Pod 会分配到新的 IP 地址。这样就产生了一个问题:如果一组 Pod 对外提供服务(比如 HTTP),它们的 IP 很有可能发生变化,那么客户端如何找到并访问这个服务呢?Kubernetes 给出的解决方案是 Service。创建 ServiceKubernetes Servic...

2021-03-03 14:48:34 328 1

转载 K8S中的pod、services、容器的概念和区别

K8S中的pod、services、容器的概念和区别k8s的部署架构kubernetes中有两类资源,分别是master和nodes,master和nodes上跑的服务如下图:1 kube-apiserver | kubelet2 kube-controller-manager | 3 kube-scheduler | kube-proxy4

2021-03-03 11:29:30 4372

转载 k8s系列(二):Pods与Nodes

目标了解Kubernetes Pods 了解Kubernetes Nodes kubectl排查故障Kubernetes Podsimage-20181012110129014.pngPod是Kubernetes抽象出来表示一组应用容器(比如Docker、rkt),还有这些容器共享的资源。这些资源包括:共享存储,比如Volumes 网络,比如独立的集群IP地址 如何去运行每个容器的信息,比如容器镜像版本、要使用的端口Pod塑造出一个应用专用的"逻辑主机",它能包含不同的应用容器(

2021-03-02 17:44:51 1419

转载 k8s pod和容器概念的区分

k8s pod和容器概念的区分一:在探讨pod和容器的区别之前,我们先谈谈为什么k8s会使用pod这个最小单元,而不是使用docker的容器,k8s既然使用了pod,当然有它的理由。1:更利于扩展k8s不仅仅支持Docker容器,也支持rkt甚至用户自定义容器,为什么会有这么多不同的容器呢,因为容器并不是真正的虚拟机,参考我之前的博客,docker的一些概念和误区总结,此外,Kubernetes不依赖于底层某一种具体的规则去实现容器技术,而是通过CRI这个抽象层操作容器,这样就会需要pod这.

2021-03-02 17:43:58 2287

转载 2021-02-07多图详解Go的互斥锁Mutex

https://www.cnblogs.com/luozhiyun/p/14157542.html转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com本文使用的go的源码时14.4Mutex介绍#Mutex 结构体包含两个字段: 字段state:表示当前互斥锁的状态。 字段 sema:是个信号量变量,用来控制等待 goroutine 的阻塞休眠和唤醒。 Copytype Mutex stru..

2021-02-07 18:32:19 128

转载 译】golang net/http timeout 完整指南

在Go中编写HTTP服务器或客户端时,超时是最容易,也最细微的出错点之一:有很多可供选择的选项,并且一个错误在很长一段时间内不会有任何后果,直到网络出现故障并且进程挂起。HTTP是一个复杂的多阶段协议,所以没有适合所有超时的解决方案。考虑以下不同情况,比如流式传输端点、JSON API或者Comet端点,默认设置通常不是你想要的。在这篇文章中,我将分解您可能需要应用超时的各个阶段,并在服务器和客户端上查看执行此操作的不同方法。SetDeadline首先,您需要了解Go对外暴露的实现超时的网络

2021-01-28 20:30:08 5767

转载 浅谈原子操作、volatile、CPU执行顺序

https://www.cnblogs.com/downey-blog/p/10480506.html浅谈原子操作、volatile、CPU执行顺序在计算机发展的鸿蒙年代,程序都是顺序执行,编译器也只是简单地翻译指令,随着硬件和软件的飞速增长,原来的工具和硬件渐渐地力不从心,也逐渐涌现出各路大神在原来的基础上进行优化,有些优化是完全地升级,而有些优化则是建立在牺牲其他性能之上,当然这种优化在大多数情况下是正向的,只是在某些时候会体现出负面的效果,今天我们就来谈谈那些由于软硬件的优化产生的问题。.

2021-01-28 16:30:50 328

转载 QPS、CPS、最大连接数概念

QPS、CPS、最大连接数概念最大连接数-Max Connection最大连接数定义了一个负载均衡实例能够承载的最大连接数量。当实例上的连接超过规格定义的最大连接数时,新建连接请求将被丢弃。每秒新建连接数-Connection Per Second (CPS)每秒新建连接数定义了新建连接的速率。当新建连接的速率超过规格定义的每秒新建连接数时,新建连接请求将被丢弃。每秒查询数-Query Per Second (QPS)每秒请求数是七层监听特有的概念,指的是每秒可以完成的HTTP/HTTPS

2021-01-20 14:44:27 6391

转载 Go Http包解析:为什么需要response.Body.Close()

https://segmentfault.com/a/1190000020086816

2020-12-23 11:43:04 2050

转载 Linux Swap交换分区介绍总结

Swap交换分区概念什么是Linux swap space呢?我们先来看看下面两段关于Linux swap space的英文介绍资料:Linux divides its physical RAM (random access memory) into chucks of memory called pages. Swapping is the process whereby a page of memory is copied to the preconfigured space ...

2020-12-15 14:54:51 189

转载 redis数据结构-跳跃表

前言#跳跃表是一种有序的数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。这么说,我们可能很难理解,我们可以先回忆一下链表。一、复习跳跃表#1.1 什么是跳跃表#对于一个单链表来讲,即便链表中存储的数据是有序的,如果我们要想在其中查找某个数据,也只能从头到尾遍历链表。这样查找效率就会很低,时间复杂度会很高,是 O(n)。如果我们想要提高其查找效率,可以考虑在链表上建索引的方式。每两个结点提取一个结点到上一级,我们把...

2020-12-15 14:07:03 110

转载 nc命令用法举例

https://www.cnblogs.com/nmap/p/6148306.htmlnc命令用法举例什么是ncnc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具nc的作用(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口(2)端口的扫描,nc可以作为client发起TCP或UDP连接(3)机器之间传输文件(4)机器之间网络测速 ...

2020-12-01 18:38:01 2277

转载 除了做幻灯片、画原型,你还能用 Keynote 做一张精美的流程图

之前大热的手机游戏Lifeline发布,第一时间购入,走了几遍流程,很喜欢这种用选择决定故事走向(和主人公生死)的过程,于是就突发奇想,想要用流程图把整个游戏的选项展现出来。怎奈何没有找到合适的软件/服务来实现这个愿望。关联阅读:比画面更重要的是氛围,没有画面的文字游戏:生命线Lifeline典型的 Lifeline 游戏方式:用选择决定故事走向(和主人公生死)其实各个平台上都有不少制作流程图的软件:Windows下最好的莫过Visio,macOS/iOS则有OmniGraff...

2020-11-25 17:02:30 3313

转载 Golang的map并发安全

已知多个goroutine同时读写Map会出问题如下代码会抛出异常package mainimport ( "time" "fmt")func main() { c := make(map[string]int) go func() {//开一个goroutine写map for j := 0; j < 1000000; j++ { c[fmt.Sprintf("%d", j)] = j }

2020-11-25 15:29:38 1147

原创 使用Curl命令查看请求响应时间方法

curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http://127.0.0.1:8899/liveresourcescheduler/livemeta/getlivemetabyliveid?LiveId=5f460b77d8dad05e3a82af64"

2020-10-14 16:57:27 304

转载 实战!我用 Wireshark 让你“看见“ TCP

https://www.cnblogs.com/xiaolincoding/p/12922927.html前言“为什么拖了怎么久才发文?”为了让大家更容易「看得见」 TCP,我搭建不少测试环境,并且数据包抓很多次,花费了不少时间,才抓到比较容易分析的数据包。接下来丢包、乱序、超时重传、快速重传、选择性确认、流量控制等等 TCP 的特性,都能「一览无余」。没错,我把 TCP 的"衣服扒光"了,就为了给大家看的清楚,嘻嘻。提纲正文显形“不可见”的网络包网络世界中的数.

2020-09-15 17:44:49 213

转载 Tcpdump命令抓包详细分析

https://www.cnblogs.com/ct20150811/p/9431976.html1 起因前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况。这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了。在排查问题的过程中使用到了tcpdump和Wireshark进行抓包分析。感觉这两个工具搭配起来干活,非常完美。所有的网络传输在这两个工具搭配下,都无处遁形。为了更好、更顺手地能够用好这两个工具,特整理本篇.

2020-09-09 14:48:47 843

转载 mac python3 轻松安装教程

https://www.jianshu.com/p/66d8d26cd82d首先要知道,mac自带一个2.7版本的python,如果你之前没装过其他版本,在终端运行python --version就会看到这个版本号打印出来。你可以直接使用这个版本的python进行操作。这里教你轻松安装python3,以及虚拟环境的配置。安装homebrew在终端执行命令/usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubuserconte..

2020-09-08 15:43:24 155

转载 如何用git命令生成Patch和打Patch

https://www.cnblogs.com/ArsenalfanInECNU/p/8931377.html在程序员的日常开发与合作过程中,对于code的生成patch和打patch(应用patch)成为经常需要做的事情。什么是patch?简单来讲,patch中存储的是你对代码的修改 什么是生成patch?生成patch就是记录你对代码的修改并将其保存在patch文件中 什么是...

2020-05-07 16:07:27 200

转载 彻底搞懂Python切片操作

https://www.jianshu.com/p/15715d6f4dad在利用python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器。理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任意切取目标值。切片操作的基本语法比较简单,但如果不彻底搞清楚内在逻辑,也极容易产生错误,而且这种错误有时隐蔽得比较深,难以...

2019-08-20 17:47:51 780 1

转载 记一次Golang内存分析——基于go pprof

https://www.cnblogs.com/gao88/p/9849819.html1. 背景阿里云Redis线上在某些任务流中使用redis-port来进行实例之间的数据同步。redis-port是一个MIT协议的开源软件,主要原理是从源实例读取RDB快照文件、解析、然后在目标实例上应用灌数据的写命令。为了限制每个进程的最大内存使用,我们使用cgroup来做隔离,最近线上出现r...

2019-08-19 19:30:37 1221

原创 golang pprof

package mainimport "fmt"import "time"import "net/http"import _ "net/http/pprof"func main() { fmt.Printf("%s\n", "hello world") go func() { fmt.Println(http.ListenAndServ...

2019-08-19 19:00:25 66

原创 ./nanocat --req --connect "ipc:///tmp/manual_contro l.ipc" --data 123 -i 1

https://nanomsg.org/v0.2/nanocat.1.html

2019-07-04 16:02:48 299

转载 如何判断链表有环以及求入环节点

https://www.jianshu.com/p/09bb560ff025如何判断单链表有环,并找出环的入口?时间O(n),空间O(1)。这个面试题还是蛮有趣的,当时只想出了第一问,第二问实在巧妙。如图这个单链表,蓝色的部分是环。对于如何判断链表有环,可以从起点发出两个指针,一个一次一步,另一个一次两步,如果两个指针相遇,那么这个单链表就有环。设绿...

2019-05-30 12:10:38 943 1

转载 python之Web服务器案例

https://www.cnblogs.com/alexzhang92/p/9359141.htmlHTTP协议简介1. 使用谷歌/火狐浏览器分析在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编写网页; ...

2019-03-30 19:24:54 884

转载 socket服务器开发中的SO_REUSEADDR选项与让人心烦的TIME_WAIT

https://blog.andyqiao.top/article/15/问题产生我在开发一个socket服务器程序并反复调试的时候,发现了一个让人无比心烦的情况:每次kill掉该服务器进程并重新启动的时候,都会出现bind错误:error:98,Address already in use。然而再kill掉该进程,再次重新启动的时候,就bind成功了。真让人摸不着头脑。...

2019-03-30 16:29:15 234

转载 Golang的反射reflect深入理解和示例

https://studygolang.com/articles/12348?fr=sidebarTOC]【记录于2018年2月】编程语言中反射的概念在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或...

2019-03-12 17:20:55 283

转载 理解go的function types

https://www.jianshu.com/p/fc4902159cf5今天看Martini文档,其功能列表提到完全兼容http.HandlerFunc接口,就去查阅了Go: net/http的文档,看到type HandlerFunc这部分,顿时蒙圈了。由于之前学习的时候没有关注过function types的知识点,就Google了一些文章,才算是有了个大概的了解。从gola...

2019-03-06 19:05:45 226

原创 ssh wifi 登录 开发板

adb shellpasswdinput your passwd:xxxxxxxxxxxx(again)exitssh root@192.168.1.1input your board passwd# ok!!liusen@liusen:~/wkspace/hover2/src/drone_apps/control_engine$ ssh root@19...

2019-03-06 11:24:00 437

转载 IO多路复用与Go网络库的实现

https://ninokop.github.io/2018/02/18/IO%E5%A4%9A%E8%B7%AF%E5%A4%8D%E7%94%A8%E4%B8%8EGo%E7%BD%91%E7%BB%9C%E5%BA%93%E7%9A%84%E5%AE%9E%E7%8E%B0/ 去年在读UNP等几本书时都涉及到IO及相关知识,不过由于点很零散,当时没有总结。趁这次看golang net...

2019-02-18 16:31:58 1942

转载 nanomsg实验——pubsub

https://yq.aliyun.com/articles/8702# nanomsg实验——pubsub发布订阅模式是很多消息中间件提供的常见功能。通过消息机制,能够将消息发布者和消息接收(消费)者进行解耦。pubsub模式也是nanomsg直接支持的一直消息模型之一,因此通过pubsub模式实验,同时也大致了解了下nanomsg的基础用法。服务端#include &...

2019-02-18 16:04:33 1648

转载 Go语言中实现基于 event-loop 网络处理

https://colobu.com/2017/11/29/event-loop-networking-in-Go/ 我们知道, Go语言为并发编程提供了简洁的编程方式, 你可以以"同步"的编程风格来并发执行代码, 比如使用go关键字新开一个goroutine。 对于网络编程,Go标准库和运行时内部采用 epoll/kqueue/IoCompletionPort来实现基于 event-lo...

2019-02-18 16:03:18 1302

转载 Netlink实现热拔插监控

http://blog.chinaunix.net/uid-24943863-id-3223000.html新的Linux内核使用udev代替了hotplug作为热拔插管理,虽然有udevd管理热拔插,但有时候我们还是需要在应用程序中检测热拔插事件以便快速地处理,比如在读写SD卡的时候拔下SD卡,那么需要立即检测出该情况,然后结束读写线程,防止VFS崩溃。Netlink是面向数据包的服务,为内...

2019-02-18 16:02:39 569

转载 go gpiokey signal

go signal 中断 gpiokeyhttps://github.com/qianlnk/terminal/blob/master/nobufio.go

2018-10-25 12:12:44 135

空空如也

空空如也

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

TA关注的人

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