会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Dale工作学习笔记
关注云计算、Docker&K8s、软件定义网络
博客园
新随笔
管理
2018年5月6日
数据中心架构ToR和EoR【总结】
摘要: 1、前言 最近在看《云数据中心网络技术》,学习了企业数据中心网络建设过程,看到有ToR和EoR两种布线方式,之前没有接触过,今天总结一下。 2、布线方式 ToR:(Top of Rack)接入方式就是在服务器机柜的最上面安装接入交换机。 EoR:(End of Row)接入交换机集中安装在一列机柜端
阅读全文
posted @ 2018-05-06 17:32 Rabbit_Dale
阅读(45018)
评论(0)
推荐(3)
2018年1月1日
BGP网络学习总结
摘要: 1、前言 云计算在中国发展越来越快,企业逐步开始将业务迁移到公有云中,方便运维,节省成本。公有云最复杂的地方是网络,客户对网络的需求千奇百怪,造成网络环境极其复杂,稍有不慎,就会出现网络连通性问题。因此大部分云计算厂商机房网络类型的运营商接入均为 BGP 多线路,保证线路质量。公有云中网络安全也是非
阅读全文
posted @ 2018-01-01 10:56 Rabbit_Dale
阅读(8936)
评论(2)
推荐(0)
2017年9月24日
从全域名中提取根域名
摘要: 1、前言 最近因为工作需要判断一个域名是否备案,实际提取的域名就是HTTP报文中的Host的内容,而判断一个域名是否是根据根域名进行的。例如访问www.qq.com,提取Host的内容为www.qq.com,而判断这个域名是否备案,是通过qq.com进行,因此需要从Host内容中提取出根域名。 遇到
阅读全文
posted @ 2017-09-24 10:49 Rabbit_Dale
阅读(2250)
评论(0)
推荐(1)
2017年6月27日
Python的HTTP服务实例
摘要: 1、前言 今天需要实现一个Pyhton的http服务,与Web的JS进行交换。 2、实例代码 支持HEAD、GET、POST方法,将参数转换为JSON格式,返回结果以JSON字符串返回。 使用NodeJS默认测试如下:
阅读全文
posted @ 2017-06-27 17:24 Rabbit_Dale
阅读(8070)
评论(0)
推荐(0)
2017年6月25日
Nginx的 HTTP 499 状态码处理
摘要: 1、前言 今天在处理一个客户问题,遇到Nginx access log中出现大量的499状态码。实际场景是:客户的域名通过cname解析到我们的Nginx反向代理集群上来,客户的Web服务是由一个负载均衡提供外网IP进行访问,负载均衡后面挂了多个内网web站点业务服务器。出现的访问日志如下所示: 2
阅读全文
posted @ 2017-06-25 23:28 Rabbit_Dale
阅读(154670)
评论(5)
推荐(0)
Linux 最新SO_REUSEPORT特性
摘要: 1、前言 昨天总结了一下Linux下网络编程“惊群”现象,给出Nginx处理惊群的方法,使用互斥锁。为例发挥多核的优势,目前常见的网络编程模型就是多进程或多线程,根据accpet的位置,分为如下场景: (1)单进程或线程创建socket,并进行listen和accept,接收到连接后创建进程和线程处
阅读全文
posted @ 2017-06-25 12:46 Rabbit_Dale
阅读(27051)
评论(1)
推荐(7)
Linux网络编程客户\服务器设计范式
摘要: 1、前言 网络编程分为客户端和服务端,服务器通常分为迭代服务器和并发服务器。并发服务器可以根据多进程或多线程进行细分,给每个连接创建一个独立的进程或线程,或者预先分配好多个进程或线程等待连接的请求。今天探讨三种设计范式 (1)迭代服务器 (2)并发服务器,为每个客户请求创建一个进程或线程 (3)预先
阅读全文
posted @ 2017-06-25 00:34 Rabbit_Dale
阅读(2116)
评论(1)
推荐(2)
2017年6月24日
Linux网络编程“惊群”问题总结
摘要: 1、前言 我从事Linux系统下网络开发将近4年了,经常还是遇到一些问题,只是知其然而不知其所以然,有时候和其他人交流,搞得非常尴尬。如今计算机都是多核了,网络编程框架也逐步丰富多了,我所知道的有多进程、多线程、异步事件驱动常用的三种模型。最经典的模型就是Nginx中所用的Master-Worker
阅读全文
posted @ 2017-06-24 12:18 Rabbit_Dale
阅读(22098)
评论(21)
推荐(17)
2017年6月17日
一道C语言安全编码题目
摘要: 1、前言 最近在网上看到一道C语言题目,用C语言实现一个函数,给定一个int类型的整数,函数输出逆序的整数,例如输入123,则输出字符串"321",,输入-123,则输出字符串"-321"。题目要求,不使用标准库,不得分配内存。当时觉得蛮简单的,这不就是类似字符串逆转嘛,自己尝试做了一下,测试发现,
阅读全文
posted @ 2017-06-17 12:01 Rabbit_Dale
阅读(3170)
评论(5)
推荐(2)
2017年6月3日
http性能测试工具wrk源码学习之开篇
摘要: 1、前言 最近工作需要测试nginx反向代理的性能,于是找了一些http测试工具,例如经典的Apache的ab、siege、wrk。wrk使用多线程事件驱动方式,支持lua脚本扩展。关于wrk介绍可以参考:https://github.com/wg/wrk。测试http的性能,主要关注的是QPS(每
阅读全文
posted @ 2017-06-03 18:02 Rabbit_Dale
阅读(2126)
评论(0)
推荐(0)
2017年3月22日
lua的通用print函数
摘要: 1、前言 最近在做关于openresty方面的工作,涉及到lua脚本语言,经常需要打日志查看内容。普通的print函数遇到nil或table时,非常无力。而项目中的代码经常遇到参数为nil或table的情形。所以,如果想解决上面的问题,将整个table类型数据的结构输出到控制台,那就使用循环+递归的
阅读全文
posted @ 2017-03-22 22:29 Rabbit_Dale
阅读(34921)
评论(2)
推荐(0)
2017年2月18日
Linux下connect超时处理【总结】
摘要: 1、前言 最近在写一个测试工具,要求快速的高效率的扫描出各个服务器开放了哪些端口。当时想了一下,ping只能检测ip,判断服务器的网络是连通的,而不能判断是否开放了端口。我们知道端口属于网络的传输层,因此需要用ip和端口来探测,这个时候就可以用connect来探测一下,针对TCP协议,connect
阅读全文
posted @ 2017-02-18 17:19 Rabbit_Dale
阅读(19984)
评论(7)
推荐(3)
2017年1月21日
保存一个经常用的Makefile
摘要: ############################################################# # Generic Makefile for C/C++ Program # # License: GPL (General Public License) # Author: whyglinux # Date: 2006/03/04 (version 0.1) ...
阅读全文
posted @ 2017-01-21 00:49 Rabbit_Dale
阅读(1463)
评论(0)
推荐(2)
2016年12月22日
TCP与UDP在socket编程中的区别
摘要: 一、TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证 部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息 拥有大量Client
阅读全文
posted @ 2016-12-22 13:26 Rabbit_Dale
阅读(6524)
评论(0)
推荐(1)
2016年12月18日
使用python selenium webdriver模拟浏览器
摘要: selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdriver驱动浏览器操作,我使用的是chrome浏览器,下载chrome webdriver 放到python的安装目录。 参考连接: https:/
阅读全文
posted @ 2016-12-18 18:26 Rabbit_Dale
阅读(2844)
评论(0)
推荐(0)
2016年12月16日
Web性能测试参数
摘要: 1、前言 最近在项目中引入了keyless,需要测试一下对web的性能影响。常见的web测试工具有ab、siege、http_load等。我用的是Apache的ab测试工具。在测试web性能之前,首先需要考虑要测试哪些参数,通过什么来衡量web的性能。今天总结一下,方便日后参考。 2、web性能参数
阅读全文
posted @ 2016-12-16 08:55 Rabbit_Dale
阅读(1748)
评论(2)
推荐(0)
2016年12月10日
DPDK学习之开篇介绍
摘要: 1、前言 记得刚开始工作的时,老大将我安排到数据面组,当时第一次听说”数据面“这个概念,感觉挺新鲜的。误打误撞就开始搞了,刚开始接触的时候,由于不懂其中的原理,觉得很神奇,因为报文的转发是在应用层,通过一个进程进行转发。而传统的报文转发是基于内核的,要想控制报文,需要写驱动程序。后面接触了一段时间,
阅读全文
posted @ 2016-12-10 17:44 Rabbit_Dale
阅读(34298)
评论(1)
推荐(2)
2016年11月30日
go环境import cycle not allowed问题处理
摘要: 1、前言 今天在搭建Go语言环境,从https://golang.org/dl/上下载一个Go语言环境。环境变量配置刚开始如下配置: GOROOT=/home/go/bin go执行文件目录 GOPATH=/home/go go的安装目录 写个测试程序提示如下错误: 正确的配置如下: GOROOT配
阅读全文
posted @ 2016-11-30 16:08 Rabbit_Dale
阅读(3263)
评论(0)
推荐(0)
2016年11月29日
使用etcd+confd管理nginx配置
摘要: 1、前言 最近在项目中用nginx做反向代理,需要动态生成nginx的配置。大概流程是用户在页面上新增域名、http或https协议以及端口信息,后台会根据域名自动生成一个nginx的server配置,在nginx.conf配置文件中使用include将所有的server配置加载进来。遇到一个问题就
阅读全文
posted @ 2016-11-29 00:19 Rabbit_Dale
阅读(22791)
评论(5)
推荐(1)
2016年11月26日
服务的扩展性
摘要: 1、前言 最近在看大型网站架构的书籍,书中介绍了大型网站支持扩展性。大概意思就是当服务器出现性能的不足的时,如何调整服务器,用来满足更多的请求。之前对这个扩展概念不是很清楚,仔细看了一下扩展分为水平扩展和垂直扩展两种。今天总结一下服务扩展性的知识点。主要内容为(1)服务器扩展性是什么?为什么需要扩展
阅读全文
posted @ 2016-11-26 00:12 Rabbit_Dale
阅读(1259)
评论(2)
推荐(1)
下一页
公告