![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端开发
hl4080
这个作者很懒,什么都没留下…
展开
-
golang线程池在IO多路复用中的应用
前言之前介绍过基于reactor模式的IO多路复用技术,reactor模式本质上就是循环监听-处理的过程,当处理过程代价很小(比如echo服务器),服务端实际上长期阻塞于监听环节,这样会导致客户端感觉自己的请求是被立即处理的。如果需要服务端支持IO阻塞型应用,单线程的reactor模式就显得不太适合了,因为某个客户端会长期占据IO而使得其余客户端的请求无法及时得到响应。这时候可以对这部分请求单独分配线程池进行处理,以保证轻量的请求不被阻塞。golang线程池传统的线程池在golang中可以用更为轻量的原创 2020-10-11 21:18:49 · 2071 阅读 · 1 评论 -
基于reactor以及IO多路复用(Kqueue)的echo服务器
前言前面介绍了unix系统中的IO复用技术(Kqueue),并且基于此技术实现了两种简单的echo服务器同步、单线程的echo服务器。允许多个client连接,但是同时只能处理一个client的请求,需要该client断开连接后才能继续处理下一个客户端的请求异步、多线程的echo服务器。允许多个client连接并且同时可以处理多个client的请求,是一个比较贴近实际场合的echo服务器,但是多线程会带来频繁的线程间切换以及加解锁,实际开销比较大仔细观察思考,实际上上述两种方法程序的时间大多也是原创 2020-09-16 19:25:30 · 334 阅读 · 0 评论 -
使用IO多路复用(Kqueue)实现简单的多线程echo服务器
前言上一篇博客提到了Kqueue的基本原理并用一个小的编程例子进行实现,对于Kqueue的基本使用尚不熟练的小伙伴可以回头看一下这篇博客。下面言归正传,用Kqueue实现一个能实用的echo服务器,并讨论多客户端连接的应用场景。单线程echo服务器设计思想:服务端创建一个套接字监听来自客户端的连接,并将其放入内核事件队列中,每次接到客户端的连接请求,创建套接字放入监听列表待其活跃之后进行读写。注意:在单线程的服务器中,多个客户端同时连接,服务器会阻塞在第一个进行读写的客户端,直至该客户端断开连接后才原创 2020-09-09 20:44:01 · 473 阅读 · 0 评论 -
go实现Kqueue和IO复用
Kqueue背景Kqueue是unix系统上高效的IO多路复用技术,关于IO多路复用的原理网上有很多优秀的理解,这里不再赘述。常见的io复用有select、poll、epoll、kqueue等。其中epoll为Linux系统独有,kqueue则在众多unix系统中存在,我们这里选择Kqueue进行切入主要是方便mac上IDE即时编译调试,其原理与epoll类似。Kqueue参数概览go语言中kqueue相关代码位于syscall库中event_t是Kevent()操作的最基本的事件结构。kque原创 2020-09-02 18:52:18 · 943 阅读 · 0 评论 -
muduo安装
muduo安装安装前的准备编译安装安装前的准备由于组里的服务器是多人共用,为了排除宿主机环境对muduo的影响以及root权限的获取,选择在docker进行muduo的安装。docker镜像:ubuntu16.04依赖库的安装//muduo采用camke编译,安装camkeapt-get install cmake//muduo依赖boost库apt-get install libboost-dev libboost-test-dev//三个非必须的依赖库:curl、c-ares DNS、原创 2020-08-16 10:11:12 · 339 阅读 · 0 评论 -
代理服务总结
代理服务总结前言为什么要有代理过滤器访问控制安全防火墙web缓存反向代理内容路由器转码器匿名传输代理的分类正向代理反向代理前言最近想深入了解ngnix,在代理这块的理解有点模糊,对代理比较直观的印象是客户端可以通过一个正向代理访问受限的资源(翻墙)。为了进一步了解ngnix提供的代理功能,不同情况下需要使用的代理类型、功能、应用场景和其作用都需要有一个比较透彻的掌握,对学习ngnix以及之后的工作中也有好处。为什么要有代理代理服务器位于客户端和服务器之间,扮演中间人的角色,在各个断点之间来回传输数据原创 2020-07-05 21:45:58 · 350 阅读 · 0 评论 -
c++后台开发菜鸡到找到实习总结
距离投递简历到找到现在开始总结实际上已经快三周了,从最开始的对自己不自信到后来慢慢找到面试的感觉,我感觉成长还是很大的。实习投了五家公司(字节跳动、百度、猿辅导、搜狗、快手),除了百度是同学发的实习JD、字节跳动在官网直接投递,其余的都是在牛客实习广场上找到的(大赞牛客),除了猿辅导均接到面试邀请(一直怀疑猿辅导的日常实习是否存在),搜狗和字节跳动拿到offer、百度二面之后没消息(应该是凉了)...原创 2019-12-16 11:28:46 · 741 阅读 · 0 评论