随笔分类 -  后台服务

Something about backend services
RabbitMQ入门指南
摘要:1、背景 1)选择RabbitMQ,而不是ActiveMQ/ZeroMQ/Apache Qpid的原因: (1)RabbitMQ难以置信的容易安装和使用。 (2)除了Qpid外,RabbitMQ是唯一实现了AMQP标准的代理服务器。 (3)正是由于Erlang,RabbitMQ集群不可思议的简单。 阅读全文

posted @ 2016-12-11 21:15 han'er 阅读(1135) 评论(0) 推荐(0)

nginx模块开发入门
摘要:1、编写源文件 2、在源文件的相同目录下编写config文件 3、执行configure脚本,并指定自定义模块的位置 4、执行make && make install 5、在nginx.conf的server{}配置块中增加以下配置: 6、启动nginx 7、模拟HTTP请求: 参考资料: 《深入理 阅读全文

posted @ 2016-12-02 18:31 han'er 阅读(2901) 评论(0) 推荐(0)

nginx源码解析之常用数据结构
摘要:1、基础数据结构(src/core目录) 1)ngx_list_t(ngx_list.h) 相关接口: ngx_list_create():创建新的链表。 ngx_list_init():初始化一个已有的链表。返回NGX_OK表示成功,返回NGX_ERROR表示失败。 ngx_list_push() 阅读全文

posted @ 2016-11-27 22:18 han'er 阅读(506) 评论(0) 推荐(0)

nginx使用入门
摘要:1、nginx(engine x):HTTP和反向代理服务器、邮件代理服务器、通用的TCP/UDP代理服务器。 2、安装(CentOS):yum install nginx.x86_64 3、nginx进程 nginx有一个master进程和几个worker进程。master进程的主要工作是读取和检 阅读全文

posted @ 2016-03-24 00:20 han'er 阅读(355) 评论(0) 推荐(0)

pstack使用入门
摘要:1、pstack/gstack:print a stack trace of a running process 1)用法:gstack pid。 2)简介:gstack命令attach到指定pid的进程,并打印其执行堆栈跟踪(execution stack trace)。若是多线程进程,还可以分别 阅读全文

posted @ 2016-02-23 00:24 han'er 阅读(4239) 评论(0) 推荐(0)

strace命令入门
摘要:1、strace:trace system calls and signals 1)简介:strace拦截并记录进程调用的系统调用,以及进程收到的信号。它是一个非常有用的程序诊断和调试工具。 2)用法: (1)示例1: 编译成a.out之后,再执行strace -T -tt ./a.out > /d 阅读全文

posted @ 2016-02-04 00:35 han'er 阅读(2284) 评论(0) 推荐(0)

Boost.Asio使用入门
摘要:1、概述:Boost.Asio是一个跨平台的C++库,用于网络和底层I/O编程,可以在I/O对象(如socket)上执行同步和异步操作。 2、简略的过程分析。以socket的连接操作为例: 你的程序中需要至少定义一个io_service对象:boost::asio::io_service io_se 阅读全文

posted @ 2016-01-27 00:13 han'er 阅读(30472) 评论(0) 推荐(4)

数字证书
摘要:1、简介: 数字证书(certs)又称因特网上的“ID卡”,它包含了由某个受信任组织担保的用户或公司的相关信息。 2、背景知识: 1)数字签名 除了加/解密报文之外,还可以用加密系统对报文进行数字签名,这对因特网安全证书系统来说非常重要。 数字签名是附加在报文上的加密校验和。使用数字签... 阅读全文

posted @ 2016-01-19 23:57 han'er 阅读(485) 评论(0) 推荐(0)

C/C++内存分配
摘要:1、brk()和sbrk()// 成功时返回0,出错时返回-1并设置errno为ENOMEMint brk(void *addr);// 成功时返回先前的堆结束位置。出错时,返回(void *)-1并设置errno为ENOMEMvoid *sbrk(intptr_t increment); ... 阅读全文

posted @ 2015-06-02 02:47 han'er 阅读(6777) 评论(0) 推荐(0)

Linux系统的资源使用限制
摘要:1、getrlimit和setrlimit 每种资源都有相应的软限制和硬限制,如以下结构所定义的: 普通进程只能不可逆地降低它的硬限制(且不能小于软限制)。超级用户进程或具有CAP_SYS_RESOURCE能力的进程可以随意改变它的两个限制值。 RLIM_INFINITY值表示在一个资源上没有使用限 阅读全文

posted @ 2015-03-11 00:59 han'er 阅读(3892) 评论(0) 推荐(0)

后台服务相关基础知识
摘要:1、雪崩与过载保护 雪崩:外部请求数(较长时间地)超过系统处理能力,(加上时延敏感服务触发的大量重试请求,)使得接收请求的缓冲区被迅速填满(并一直保持满的状态,如果缓冲区很大),后续每个请求都不能在超时前处理,因此系统的服务能力表现为0。这种情况不能自动恢复。 建议: 1)明确系统的最大处... 阅读全文

posted @ 2014-11-14 00:19 han'er 阅读(494) 评论(0) 推荐(0)

导航