网络
文章平均质量分 90
&后来&
记录每一个灵感的瞬间
展开
-
如何设计一个秒杀系统?
原文链接本文作为许令波老师《如何设计一个秒杀系统》这一课程的学习记录。同时也记录下今年项目中的一些原因导致秒杀、抢购服务器宕机秒杀系统的关键点秒杀系统其实主要解决2个问题,一个是并发读,一个是并发写。整体概况为“稳、准、快”高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。本文将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这 4 个方面重点介绍。一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多转载 2020-09-13 22:33:02 · 716 阅读 · 0 评论 -
网络编程问题思考
多线程访问共享区时由于线程同步访问时间消耗比较大,当共享区数据比较多时,我们改怎么优化让时间消耗变小大文件的如何解析,比如给你一个.csv文件,很大几个G,然后你如读取解析udp发送,如果对方端口未打开,会有问题吗为什么现在Web服务器都用http而不直接用tcp http相对来说有哪些优点协程为什么可以不用进入内核态 怎么实现的当网络情况不好时,tcp udp会发生是么情况,TCP UDP推流速率怎么样怎么实现HTTPS的抓包...原创 2020-09-05 21:42:19 · 187 阅读 · 0 评论 -
inet_addr实现
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <string.h>#include <stdlib.h> // 方法1:使用指针数组实现unsigned long inet_addr(const char *str){ unsigned long lHost = 0; int i = 1, j = 1; const char *pstr[4] = { NULL };转载 2020-09-05 13:11:22 · 1387 阅读 · 0 评论 -
单点登录原理与简单实现
一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求,响应合法请求,忽略非法请求;要鉴别浏览器请求,必须清楚浏览器请求状态。既然http协议无状态,那就让服务器转载 2020-08-21 17:22:06 · 170 阅读 · 0 评论 -
解决TimeWait过多的问题
原文链接:https://www.tiejiang.org/27040.html1、 time_wait的作用:TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信息,那么客户端将响应RST分节,服务器将此分节解释成一个错误(在java中会抛出connection reset的SocketExc转载 2020-08-18 20:06:12 · 6444 阅读 · 0 评论 -
IO多路复用模式(Epoll、Poll、 Select)
IO多路复用模式(Epoll、Poll、 Select)IO多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步IO的实现会负责把数据从内核拷贝到用户空间。查看man手册man pagenum function //查看对应的函数原型, pagenum 为页数, function原创 2020-08-12 17:10:32 · 220 阅读 · 0 评论 -
IO设计模式:Reactor和Proactor对比
IO设计模式:Reactor和Proactor对比原文链接:https://segmentfault.com/a/1190000002715832平时接触的开源产品如Redis、ACE,事件模型都使用的Reactor模式;而同样做事件处理的Proactor,由于操作系统的原因,相关的开源产品也少;这里学习下其模型结构,重点对比下两者的异同点;反应器ReactorReactor模式结构Reactor包含如下角色:Handle 句柄;用来标识socket连接或是打开文件;Synchronous转载 2020-07-28 15:58:22 · 195 阅读 · 0 评论 -
进程间通讯的7种方式
原文链接:https://blog.csdn.net/zhaohong_bo/article/details/89552188进程间通讯的7种方式1、常见的通信方式管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、转载 2020-06-23 10:38:51 · 332 阅读 · 0 评论 -
高性能服务器架构(High-Performance Server Architecture)
原文: https://blog.csdn.net/marising/article/details/5186643High-Performance Server Architecture高性能服务器架构来源:http://pl.atyp.us/content/tech/servers.html译文来源:http://www.lupaworld.com/home/space-341888-do-blog-id-136718.html(map注:本人看了一遍,“于我心有戚戚焉”,翻译得也很好,于是整转载 2020-06-22 22:15:59 · 381 阅读 · 0 评论 -
图解TCP/IP(笔记二)
参考:图解TCP/IP(第五版)竹下隆史 村山公保 荒井透 田幸雄 著 乌尼日其其格 译原创 2020-05-08 09:25:41 · 171 阅读 · 0 评论 -
图解TCP/IP(笔记一)
参考:图解TCP/IP(第五版)竹下隆史 村山公保 荒井透 田幸雄 著 乌尼日其其格 译原创 2020-05-01 22:06:10 · 334 阅读 · 0 评论