- 博客(15)
- 资源 (55)
- 收藏
- 关注
原创 大型网站架构演变过程、大并发服务器架构
大型网站架构演变过程:[Step1]web server与数据库分离web动静资源分离静态请求:如html, js, css, img动态请求:如jsp, php[Step2]缓存处理客户端(浏览器)缓存前端页面缓存(squid)页面片段缓存ESI(Edge Side Includes)
2013-11-14 12:39:06 9383 20
原创 muduo网络库学习之muduo_inspect 库涉及到的类
muduo inspect 库通过HTTP方式为服务器提供监控接口, 现在只实现进程相关信息的监控,通过成员ProcessInspector 实现。ProcessInspector // 通过ProcessInfo返回进程信息 ProcessInfo // 获取进程相关信息我们可以参照 ProcessInspector 实现一个如TcpStateInspector,作为
2013-11-13 21:31:00 3613
原创 muduo网络库学习之muduo_http 库涉及到的类
1、http request:request line + header + body (header分为普通报头,请求报头与实体报头)header与body之间有一空行(CRLF)请求方法有:Get, Post, Head, Put, Delete等协议版本1.0、1.1常用请求头Accept:浏览器可接受的
2013-11-13 16:33:04 5748 2
原创 muduo网络库学习之EventLoop(七):TcpClient、Connector
Connector 主要用于发起连接,并带有自动重连的功能,成员主要有一个channel_, C++ Code 1 boost::scoped_ptr channel_; // Connector所对应的Channel与Acceptor 相比少了一个acceptSocket_ 成员,因为Connector
2013-11-10 18:25:43 4785
原创 muduo网络库学习之EventLoop(六):TcpConnection::send()、shutdown()、handleRead()、handleWrite()
首先在EventLoop(五)基础上,在TcpConnection 构造函数中添加: C++ Code 123 // 通道可写事件到来的时候,回调TcpConnection::handleWritechannel_->setWriteCallback( boost::bind(&TcpConnection::ha
2013-11-10 13:19:54 3949
原创 muduo网络库学习之EventLoop(五):TcpConnection生存期管理(连接关闭)
监听套接字可读事件是POLLIN; 已连接套接字正常可读是POLLIN; 正常可写是POLLOUT; 对等方close/shutdown关闭连接,已连接套接字可读是POLLIN | POLLHUP;时序图分析:注意:将TcpConnectionPtr 在connections_ 中 erase 掉,时并不会马上 析构TcpConnection 对象(引用计数不为0),
2013-11-09 16:53:59 4535 3
原创 muduo网络库学习之EventLoop(四):EventLoopThread 类、EventLoopThreadPool 类
1、Socket 操作封装Endian.h封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。SocketsOps.h/ SocketsOps.cc封装了socket相关系统调用(全局函数,位于muduo::net::sockets名称空间中)。Socket.h/Socket.cc(Socket类)用RAI
2013-11-09 09:14:04 5613
原创 muduo网络库学习之EventLoop(三):Socket、Acceptor、TcpServer、TcpConnection(连接建立,接收消息)
1、AcceptorAcceptor用于accept(2)接受TCP连接Acceptor的数据成员包括acceptSocket_、acceptChannel_,Acceptor的acceptSocket_是listening socket(即server socket)。acceptChannel_用于观察acceptSocket_的readable事件,可读事件发
2013-11-08 17:47:28 4362 2
原创 muduo网络库学习之EventLoop(二):进程(线程)wait/notify 和 EventLoop::runInLoop
1、进程(线程)wait/notifypipesocketpaireventfdeventfd 是一个比 pipe 更高效的线程间事件通知机制,一方面它比 pipe 少用一个 file descripor,节省了资源;另一方面,eventfd 的缓冲区管理也简单得多,全部“buffer” 只有定长8 bytes,不像 pipe 那样可能有不定长的真正 buffer。
2013-11-08 10:24:58 5381 2
原创 muduo网络库学习之EventLoop(一):事件循环类图简介和muduo 定时器TimeQueue
1、EventLoop、Channel、Poller 等类图如下:黑色菱形:组合;白色菱形:聚合;白色三角形:继承;实线:关联;Channel是selectable IO channel,负责注册与响应IO 事件,它不拥有file descriptor。Channel是Acceptor、Connector、EventLoop、TimerQueue、TcpConn
2013-11-07 22:00:31 10418
原创 阻塞/非阻塞读写总结、tcp网络编程的本质、muduo::Buffer设计简介
一、阻塞/非阻塞读写总结1、对于read 调用,如果接收缓冲区中有 20字节,请求读 100个字节,就会返回 20;对于 write调用,如果请求写 100个字节,而发送缓冲区中只有 20个字节的空闲位置,那么 write会阻塞,直到把 100个字节全部交给发送缓冲区才返回。但如果 socket文件描述符有 O_NONBLOCK标志,则 write不阻塞,直接返回 20;此时非
2013-11-07 16:42:27 9965
原创 常见多线程与并发服务器设计方案举例
一、3点基础知识1、一个主机的端口号为所有进程所共享,但普通用户进程绑定不了一些特殊端口号如20、80等。 2、每个进程都有自己的文件描述符(包括file fd, socket fd, timer fd, event fd, signal fd),一般是1024,可以通过ulimit -n 设置,但所有进程打开的文件描述符总数有上限,跟主机的内存有关。3、一个进
2013-11-04 21:25:56 8224 1
原创 muduo网络库学习之Logger类、LogStream类、LogFile类封装中的知识点
一、Logger类、LogStream类1、日志作用开发过程中:调试错误更好的理解程序运行过程中:诊断系统故障并处理记录系统运行状态2、日志级别TRACE指出比DEBUG粒度更细的一些信息事件(开发过程中使用)DEBUG指出细粒度信息事件对调试应用程序是非常有帮助的。(开发过程中
2013-11-02 20:45:06 5562
原创 muduo网络库学习之ThreadLocal<T> 类、ThreadLocalSingleton<T>类封装知识点
1、在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。2、在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。3、但有时应用程序设计中有必要提供线程私有的全局变量,仅在某个线程中有效,但却可以跨多个函数访问。4、POSIX线程库通过维护一定的数据结构来解决这个问题,这些数据称为(Thread-specific Data,或 TSD)。
2013-11-01 21:54:34 4460 3
原创 muduo网络库学习之BlockinngQueue<T>类、ThreadPool 类、Singleton类封装中的知识点
一、BlockinngQueue类、BoundedBlockingQueue类生产者消费者问题,可以用信号量+互斥锁 或者 条件变量+互斥锁 来解决,还分为有界和无界缓冲区两种情形,如下图:有界缓冲区:生产者:信号量+互斥锁:1,2,3,4,5条件变量+互斥锁:2,1,3,5,4(框框)消费者:信号量+互斥锁:1,2,3,
2013-11-01 19:14:40 3333
《单片机C语言程序设计实训100例基于8051+Proteus仿真》源代码
2011-08-16
NI Circuit Design Suite 11.0(Multisim 11.0)pro fulll(full版)注册机
2011-08-15
NI Circuit Design Suite 11.0(Multisim 11.0)educational(教育版)注册机
2011-08-15
NI Circuit Design Suite 11.0(Multisim 11.0)Internal(内部版)注册机
2011-08-15
Crack_dsp_builder_11.0
2013-05-01
Windows6.1-KB917607-x86 (32bit)
2011-08-15
系统程序员成长计划 PDF
2011-08-15
PROTEUS VSM help
2011-08-15
耦合多工器综合软件 带例程与帮助文档
2011-08-15
分形电容 英文论文三篇
2011-08-15
cst+2010+crack
2011-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人