可靠 UDP 传输
一,什么时候有可能采用 UDP 通讯而不是用 TCP 更好;
二,一个可靠的 UDP 通讯模块的 API 接口该如何设计;
三,一个简单的实现。…
记录-交流-Web开发知识分享
一,什么时候有可能采用 UDP 通讯而不是用 TCP 更好;
二,一个可靠的 UDP 通讯模块的 API 接口该如何设计;
三,一个简单的实现。…
FIFO有时被称为命名管道。管道只能由相关进程使用,这些相关进程的共同祖先进程创建了管道。但是,通过FIFO,不相关的进程也能交换数据。
FIFO是一种文件类型(参考http://www.cnblogs.com/nufangrensheng/p/3501533.html)。stat结构(http://www.cnblogs.com/nufangrensheng/p/3501385.html)成员st_mode的编码指明文件是否是FIFO类型。可以用S_ISFIFO()宏对此进行测试。…
第1类:不保护共享变量的函数…
文:林沛满
人一旦形成某种思维定势,就很难再改变了。知道我收到最多的读者来信是问什么吗?“林工,有些TCP包发出去之后没有看到对应的Ack,算不算丢包啊?”这个问题让我很是好奇,明明RFC上没有这样的规定,为什么总有读者觉得每一个数据包都应该有对应的Ack呢?后来才注意到,很多提问者是做网站开发出身的,已经习惯了每个HTTP请求发出去,就一定会收到一个HTTP响应(见图1),因此就把这个模式套到了TCP上。其实不止HTTP,绝大多数应用层协议都采用这种一问一答的工作方式。…
公司内部 OA 系统要做线上高可用,避免单点故障,所以计划使用2台虚拟机通过 Keepalived 工具来实现 nginx 的高可用(High Avaiability),达到一台nginx入口服务器宕机,另一台备机自动接管服务的效果。(nginx做反向代理,实现后端应用服务器的负载均衡)快速搭建请直接跳至 第2节。…
现代高性能计算机由下列资源组合构建而成:多核处理器(/zh-cn/articles/frequently-asked-questions-intel-multi-core-processor-architecture#_Essential_concepts)、众核处理器(http://goparallel.sourceforge.net/ask-james-reinders-multicore-vs-manycore/)、大型高速缓存,高带宽进程间通信结构和高速 I/O 功能。 高性能软件需经过设计,以充分利用这些丰富的资源。 无论是重新构建并/或调优现有应用以发挥最高性能,或为现有或未来设备构建新应用,了解编程模型和高效利用资源之间的相互作用极其关键。 以此为起点,全面了解代码现代化(/zh-cn/moderncode)。 关于性能,您的代码至关重要!…
最近在排查现网Text与Blob类型,发现有不少,在《高性能MySQL(第3版)》看到对这两种变长数据类型的处理会涉及到在磁盘上创建临时表,性能开销比较大。于是把影响blob型数据存储方式了解了一下:row_format。
Innodb存储引擎保存记录,是以行的形式存放的(与之对应的是像Google BigTable这种列数据库)。在InnoDB 1.0.x版本之前,InnoDB 存储引擎提供了 Compact
和 Redundant
两种格式来存放行记录数据,这也是目前使用最多的一种格式。Redundant 格式是为兼容之前版本而保留的。…
因为websocket的内容比较多,所以准备分解将基础篇主要讨论一下websocket的概念,websocket和http协议的区别,客户端的websocket以及服务端的websocket,中间穿插着一些实例,最后以一个基本的实例还结束基础篇。扩展篇讨论一下nodejs
中socket及其应用。下面我们就来进入正式话题…
現代較新的 Web Framework 都強調自己有 Dependency Injection (以下簡稱 DI ) 的特色,只是很多人對它的運作原理還是一知半解。
所以接下來我將用一個簡單的範例,來為各位介紹在 PHP 中如何實現簡易的 DI 。…
近期评论