
后端服务器
文章平均质量分 80
碎炎
用学核心编程当学操作系统的孩子。。。
展开
-
socket accept后的fd是否占用新端口
今天小组讨论了下自动化部署的架构与实现。在讨论推送配置的时候,我发现了一个问题,这也让我知道了我以前一直忽略的一个东西。 很多人socket编程很熟悉,但是能知道下面细节的人就不是那么多了。以前就想读tcp ip协议详解,可惜那时候的功力还没到,看来等有时间还是得细细品读。 大家都很熟悉,在server端编程,首先得创建一个socket并bind一个地址,然后进行listen和原创 2016-07-21 20:24:13 · 6020 阅读 · 1 评论 -
网络编程中的阻塞,非阻塞、同步,异步概念
网络编程中的阻塞,非阻塞、同步,异步概念网络编程中,我们常常接触阻塞,非阻塞,同步,异步等概念,有些概念可能交叉使用,比如异步非阻塞,同步非阻塞,同步阻塞等等,这些概念看似相似,却往往又有着不同的概念,也往往很绕。刚刚查了点资料总结了一下,通过结合具体的网络模型来给这些概念做个笔记。阻塞阻塞是最容易理解的,对应于各种阻塞的api,recv send等等都是阻塞的API,这些API的特性就是在内核的数原创 2016-10-11 16:20:15 · 3180 阅读 · 0 评论 -
使用redis写一个简单的分布式锁
对于一个进程来说,内部的资源锁有很多的实现方式,也都很高效,对于同一个机器的不同进程做同步的话,也有很多的方式去实现,对于不同机器上部署的程序来说,假如要进行同步,则比较麻烦。最简单的方式可能就是使用redis了,redis的实现是所有的操作放入单线程中处理的,所以对于并发的请求,都有先后顺序,那么对于实现分布式锁来说有着得天独到的优势。其实所谓的分布式锁,就是在某个共享节点上做一个资源的标记,当标原创 2016-09-22 15:56:27 · 1378 阅读 · 0 评论 -
对libevent中bufferevent的深入理解
对libevent中bufferevent的深入理解在libevent 2.x.x中,新增了bufferevent来封装了socket操作,用来简化编码操作。当前项目有个点实在是有点儿绕,我自己在libevent基础上做了一个网络引擎的wrapper,未来打算替换,在实现的过程中,发现了一些问题,于是这些日子在空闲的时候阅读了下libevent的实现以及从前没有接触过的epoll模型,心里也算是有点原创 2016-10-13 17:38:08 · 8818 阅读 · 8 评论 -
简析DNS解析过程
简析DNS解析过程以前对于DNS的流程,以前也只停留在域名->IP的简单理解上,今天想看下cdn的原理,于是发现DNS貌似没那么简单,于是在网上收集了点资料,自己做了点理解,顺便做个简单的笔记。首先,以gocode.cc做个例子,这个是我另外一个博客,从最开始来梳理下解析到IP地址的过程,当然,HOST文件、DNS缓存什么都不考虑,只考虑从头至尾的大概流程。1.一般是请求ISP的DNS服务器,DNS原创 2016-11-10 17:52:58 · 661 阅读 · 0 评论 -
TCP头部的ACK与SEQ
TCP头部的ACK与SEQ这几天临近过年了,很多人都回去了,趁着闲着,把TCP/IP协议详解大概过了一过,有些以前似懂非懂的,现在貌似还是似懂非懂,不过至少比以前理解的好一点儿了,不过对于TCP的发包与回应之间的确认序号有点儿搞懵了,于是大概看了下,顺便在这里做了个笔记。之前的工作大概都属于上层工作吧,至少在协议之上,各种操作系统的IO模型,倒是底层没怎么去看,只知道大概的三次握手啊之类的,还是得对原创 2017-01-23 12:00:17 · 4085 阅读 · 0 评论 -
Raft一致性算法
Raft一致性算法今天和明天都得值班,基本主要是看监控,趁着空闲时候大概看了会raft算法,以前比较粗略的了解了一下,今天仔细的学习了会,在这里做个笔记吧。在分布式系统中,一致性是个很棘手的问题,单节点没有这个问题,但是为了保证高可用,往往会多机房部署,这样每个服务的一致性就必须得保证,raft一致性算法就是为了解决这个问题。在Raft中,每个服务都有三个角色: Follower Candidate原创 2017-01-27 15:37:17 · 601 阅读 · 0 评论 -
MySQL与MariaDB基于GTID的主从同步
MySQL与MariaDB基于GTID的主从同步最近在做数据库同步,主要业务场景是同步目前中间件分库分表的库表至单库单表中做OLAP。前期的同步是基于binlog filename和pos的,前几天DBA告知了一个可能的风险,仔细想想也的确是的,假如主节点挂了,从节点提升为主,那么其实主从的binlog pos是不一致的,那么继续注册上从同步肯定会有问题,再加之目前db使用的是vip,切换可能无感知原创 2017-04-20 17:27:04 · 3036 阅读 · 0 评论