随笔分类 -  服务端开发

高并发、高扩展、高可用分布式系统等
摘要:可编程网络DataPath 大部分网络数据的最终生产者和消费者都是应用程序,在一个计算机中,网络数据包需要经过网卡 ⇔ 系统内核 ⇔ 应用程序,才能完成传输。 Linux 有严格的内核和用户空间隔离,网络数据在内核和应用程序之间的传输需要频繁的进行上下文切换,随之带来额外的CPU cycle 开销。 阅读全文
posted @ 2021-06-25 15:44 TuringM 阅读(3316) 评论(0) 推荐(0)
摘要:eBPF 介绍 Tcpdump 是Linux 平台常用的网络数据包抓取及分析工具,tcpdump 主要通过libpcap 实现,而libpcap 就是基于eBPF。 先介绍BPF(Berkeley Packet Filter),BPF 是基于寄存器虚拟机实现的,支持 JIT(Just-In-Time 阅读全文
posted @ 2021-06-22 17:14 TuringM 阅读(4548) 评论(0) 推荐(0)
摘要:一、什么是timming wheel? 二、管理空闲TCP连接 阅读全文
posted @ 2018-07-01 22:43 TuringM 阅读(241) 评论(0) 推荐(0)
摘要:1 分布式系统中是否需要应用层心跳? 在采用TCP连接作为进程间通信方式的分布式系统中。当任意一方进程意外退出的时候,对方能及时得到连接断开的通知,操作系统会关闭进程中使用的TCP scoket,会往对方发送FIN分节。keepalive并不是TCP协议规范的一部分,但在几乎所有的TCP/IP协议栈 阅读全文
posted @ 2018-07-01 22:06 TuringM 阅读(2411) 评论(0) 推荐(0)
摘要:[TOC] CTP交易部分接口说明 一、请求接口字段说明(未说明则均为必填字段) 1. 登录:acct_login_id = 5000 broker_id:经纪公司代码 investor_id:投资者代码 pwd:密码 1.1 说明 若登陆成功后,会返回FrontID 、SessionID和MaxO 阅读全文
posted @ 2018-02-11 18:59 TuringM 阅读(13334) 评论(1) 推荐(4)
摘要:最近在考虑后端日志规范拟定,参考了一些别的同志的经验,加上自己的一些思考,初步整理如下。 一、日志规范 1. 日志严格分级 DEBUG:该级别日志的主要作用是对系统每一步的运行状态进行精确的记录。可以将各类详细信息记录到DEBUG里,起到调试的作用,包括 等。 INFO:该种日志记录系统的正常运行状 阅读全文
posted @ 2017-11-16 10:25 TuringM 阅读(6513) 评论(0) 推荐(0)
摘要:一、Nginx服务 二、Nginx工作方式: Nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启 阅读全文
posted @ 2017-10-26 14:28 TuringM 阅读(275) 评论(0) 推荐(0)
摘要:REDIS(REmote DIctionary Server)下面是一个redis.conf文件: 阅读全文
posted @ 2017-09-13 15:03 TuringM 阅读(129) 评论(0) 推荐(0)
摘要:[TOC] 序列化和反序列化 序列化和反序列化在平常工作中会大量使用,然而并不一定非常清楚它的概念。序列化和反序列化的选型却是系统设计或重构一个重要的环节,在分布式、大数据量系统设计里面更为显著。机器间的通信需要约定一个协议,序列化和反序列化是这个通信协议的一部分。 :将对象或数据结构转为字节序列的 阅读全文
posted @ 2017-08-30 15:49 TuringM 阅读(10365) 评论(3) 推荐(0)
摘要:基于事件的非阻塞网络编程 是编写高性能并发网络服务程序的主流模式,头一次使用这种模式编程需要转换思维模式 。把原来的“主动调用recv()来接收数据,主动调用accept()来接受连接,主动调用send()来发送数据”的思路换成“注册一个接收数据的回调,基础网络库收到数据会调用我,将数据传给我,供我 阅读全文
posted @ 2017-07-21 15:07 TuringM 阅读(719) 评论(0) 推荐(0)
摘要:声明:以下内容若无特别说明,均指Linux服务器环境下,传输层协议为TCP、主要开发语言为C++。 开发服务器端程序最基础的工作就是处理并发连接,服务器端网络编程处理并发连接主要有以下两种方式: 当线程廉价时,一台机器上可以创建远多于机器CPU物理线程数的“线程”,这是一个线程只处理一个TCP连接, 阅读全文
posted @ 2017-07-14 19:08 TuringM 阅读(1492) 评论(0) 推荐(0)
摘要:0.make、makefile是什么? makefile定义了一系列的规则,来规定哪些部分先编译,哪些部分后编译,写好makefile以后,只需一个make命令就可以让整个工程完全自动编译,所以简单的说,make&makefile实现了大工程的自动化编译。 1.makefile里是什么? 看个mak 阅读全文
posted @ 2015-03-31 00:29 TuringM 阅读(2901) 评论(0) 推荐(3)