自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

walkerkalr的专栏

争取做一名合格的程序员

  • 博客(17)
  • 资源 (12)
  • 收藏
  • 关注

原创 Nginx学习——负载均衡

负载均衡Nginx提供了较多的负载均衡策略,包括加权轮询、IP哈希、fair、一致哈希等。前两个是Nginx官方源码内置的策略,而后面几个都是第三方模块,所以下面我们重点来看前两个内置策略。Nginx默认采用round_robin加权算法,如果要采用IP哈希策略,那么必须在Nginx的配置文件里通过配置指令ip_hash明确指定。当整个http配置块被Nginx解析完毕

2014-07-31 20:45:07 1403

原创 Nginx——事件驱动机制(惊群问题,负载均衡)

事件框架处理流程         每个worker子进程都在ngx_worker_process_cycle方法中循环处理事件,处理分发事件则在ngx_worker_process_cycle方法中调用ngx_process_events_and_timers方法,循环调用该方法就是 在处理所有事件,这正是事件驱动机制的核心。该方法既会处理普通的网络事件,也会处理定时器事件。ngx_pro

2014-07-31 10:20:15 2254

原创 研究生阶段读的一些书籍及下载链接地址

CSDN没下载积分了,附上我在研究生阶段网上下载的并且读过的一些书籍,大部分我都有读书笔记(不过写的比较糟糕),大家可以0积分下载。CSDN上传文件大小限制在50M下。。。。。。。有些书太大,不能上传书单如下,下载地址http://download.csdn.net/user/walkerkalrC专家编程C++primer(中文版)effective C+

2014-07-28 22:54:53 1196

原创 Nginx学习——Nginx进程间的通信

nginx进程间的通信进程间消息传递共享内存共享内存还是Linux下提供的最基本的进程间通信方式,它通过mmap和shmget系统调用在内存中创建了一块连续的线性地址空间,而通过munmap或者shmdt系统调用可以释放这块内存。使用共享内存的好处是当多个进程使用同一块共享内存时,在任何一个进程修改了共享内存中的内容后,其他进程通过访问这段共享内存都能够得到修改后的内容。Nginx

2014-07-28 21:35:27 3383

原创 Nginx学习——进程模型(worker进程)

进程模型worker进程        master进程模型核心函数ngx_master_process_cycle()中调用了创建子进程函数ngx_start_worker_processes(),该函数源码如下static voidngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n, ngx_int_t type)

2014-07-27 10:47:00 3498

原创 Nginx学习——进程模型(master 进程)

进程模型        Nginx分为Single和Master两种进程模型,Single模型即为单进程方式工作,具有较差的容错能力,不适合生产之用。Master模型即为一个master进程+N个worker进程的工作方式。生产环境都是用master-worker模型来工作。master进程        我们知道在main函数中完成了Nginx启动初始化过程,启动初始

2014-07-27 09:36:21 4265

原创 Nginx学习——启动框架

Nginx启动时框架处理流程下图包含了Nginx框架在启动阶段执行的所有基本流程:源码:第1步:在src\core\nginx.c的main函数中实现:主要语句:/*第1步:调用ngx_process_options方法设置配置文件路径等参数*/ if (ngx_process_options(&init_cycle) != NGX_OK) {

2014-07-26 21:37:32 1042

原创 Nginx学习——upstream模块

配置config ngx_addon_name=ngx_http_mytest_moduleHTTP_MODULES="$HTTP_MODULES ngx_http_mytest_module"NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_mytest_module.c" 在nginx.conf中使用配置项 ...

2014-07-18 16:37:20 1557 1

原创 Linux高性能服务器编程——系统检测工具

系统检测工具tcpdumptcpdump是一款经典的转包工具,tcpdump给使用者提供了大量的选项,泳衣过滤数据报或者定制输出格式。lsoflsof是一个列出当前系统打开的文件描述符的工具。通过它我们可以了解感兴趣的进程打开了哪些文件描述符,或者我们感兴趣的文件描述符被哪些进程打卡了。ncnc命令主要被用来快速构建网络连接。

2014-07-14 10:55:51 1451 1

原创 Linux高性能服务器编程——进程池和线程池

进程池和线程池池的概念由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正是运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接从池中获取,无需动态分配。很显然,直接

2014-07-12 21:54:05 8387 8

原创 Linux高性能服务器编程——多线程编程(下)

多线程编程条件变量如果说互斥锁是用于同步线程对共享数据的访问的话,那么条件变量则是用于线程之间同步共享数据的值。条件变量提供了一种线程间的通信机制:当某个共享数据达到某个值得时候,唤醒等待这个共享数据的线程。条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量,其他现成在获得互斥量之前不会察觉到这种变化,因为必须锁住互斥量以后才能计算条件。

2014-07-06 22:34:17 1636

原创 Linux高性能服务器编程——多线程编程(上)

多线程编程Linux线程概述线程模型        线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体。根据运行环境和调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上也称为LWP(Light Weigth Process,轻量级进程),运行在内核空间,由内核来调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并

2014-07-06 22:22:22 2200

原创 Linux高性能服务器编程——多进程编程

多进程编程多进程编程包括如下内容:复制进程影映像的fork系统调用和替换进程映像的exec系列系统调用。僵尸进程以及如何避免僵尸进程进程间通信(Inter-Process Communication,IPC)最简单的方式:管道3种进程间通信方式:信号量,消息队列和共享内存fork系统调用#inclu

2014-07-04 19:09:21 1809 1

原创 Linux高性能服务器编程——定时器

定时器服务器程序通常管理着众多定时事件,因此有效组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着至关重要的影响。位置我们要将每个定时事件封装成定时器,并使用某种容器类型的数据结构,比如链表、排序链表和时间轮将所有定时器串联起来,以实现对定时事件的统一管理。Linux提供三种定时方法:1.socket选项SO_RECVTI

2014-07-04 10:37:30 2980 1

原创 Linux高性能服务器编程——信号及应用

信号信号是由用户、系统或者进程发送给目标进程的信息,以通知目标进程某个状态的改变或系统异常。Linux信号可由如下条件产生:对于前台进程,用户可以通过输入特殊的终端字符来给它发送信号。比如输入Ctrl+C通常会给进程发送一个终端信号。2.系统异常系统状态变化运行kill命令或调用kill函数Linux信号概述

2014-07-03 21:36:21 1264

原创 Linux高性能服务器编程——I/O复用

IO复用I/O复用使得程序能同时监听多个文件描述符,通常网络程序在下列情况下需要使用I/O复用技术:客户端程序要同时处理多个socket客户端程序要同时处理用户输入和网络连接TCP服务器要同时处理监听socket和连接socket,这是I/O复用使用最多的场合服务器要同时处理TCP请求和UDP请求。比如本章将要讨论的会社服

2014-07-01 20:50:13 1703 3

原创 Nginx学习——http配置项解析编程

http配置项解析编程 配置config ngx_addon_name=ngx_http_mytest_moduleHTTP_MODULES="$HTTP_MODULES ngx_http_mytest_module"NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_mytest_module.c" 在ngi...

2014-07-01 12:50:07 1410

Head First 设计模式(中文版).pdf

Head First 设计模式(中文版).pdf http://blog.csdn.net/walkerkalr

2014-07-28

深入理解Nginx(Nginx模块开发与架构解析).pdf

深入理解Nginx(Nginx模块开发与架构解析).pdf http://blog.csdn.net/walkerkalr

2014-07-28

MYSQL必知必会.pdf

MYSQL必知必会.pdf http://blog.csdn.net/walkerkalr

2014-07-28

深度探索C++对象模型.pdf

深度探索C++对象模型.pdf http://blog.csdn.net/walkerkalr

2014-07-28

数据结构与算法分析C++语言描述.pdf

数据结构与算法分析C++语言描述.pdf http://blog.csdn.net/walkerkalr

2014-07-28

UNIX环境高级编程_第二版中文.pdf

UNIX环境高级编程_第二版中文.pdf http://blog.csdn.net/walkerkalr

2014-07-28

STL源码剖析.pdf

STL源码剖析.pdf http://blog.csdn.net/walkerkalr

2014-07-28

C++必知必会.pdf

C++必知必会.pdf http://blog.csdn.net/walkerkalr

2014-07-28

Linux高性能服务器编程.pdf

Linux高性能服务器编程http://blog.csdn.net/walkerkalr

2014-07-28

GNU+makefile中文手册

GNU+makefile中文手册,自己还没看,传上来大家一起学习

2014-04-18

空空如也

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

TA关注的人

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