05 2021 档案

摘要:对于块设备而言,linux可以使用同步IO、POSIX IO、linux AIO、io-uring,前俩者是linux的同步IO接口,后者是linux内核提供的异步io接口,linux AIO只支持直接IO,未来趋势是io-uring。网络IO多用select/epoll,将其封装使用起来像异步IO 阅读全文
posted @ 2021-05-31 16:39 简直😓 阅读(402) 评论(0) 推荐(0) 编辑
摘要:服务端编程需要构建高性能的IO模型,常见的IO模型主要有以下四种 同步阻塞IO 同步非阻塞IO 默认创建的socket都是阻塞的,非阻塞IO要求socket设置为NONBLOCK IO多路复用 经典Reactor设计模式,异步阻塞IO,select epoll 异步IO 异步非阻塞IO 同步与异步 阅读全文
posted @ 2021-05-27 10:55 简直😓 阅读(7768) 评论(0) 推荐(2) 编辑
摘要:Nginx 多进程网络模型 进程模型 nginx启动后以daemon的方式在后台运行,后台进程包括一个master进程和多个worker进程 master进程主要作用,接收来自外界的信号;向各worker进程发送信号;监控worker进程的运行状态;当worker进程退出后,会自动重新启动新的wor 阅读全文
posted @ 2021-05-26 17:20 简直😓 阅读(127) 评论(0) 推荐(0) 编辑
摘要:Nginx HTTP 和 反向代理web服务器 epoll 占用少的系统资源、支持更多的并发连接 负载均衡 安装简单、配置灵活 热部署、启动快、不间断服务情况下对软件配置进行升级 反向代理 反向代理 客户端-> 代理<->服务器 Nginx 没有自己的地址,它的地址就是服务器的地址 Nginx 明确 阅读全文
posted @ 2021-05-25 17:10 简直😓 阅读(104) 评论(0) 推荐(1) 编辑
摘要:nginx是对外的服务接口,外部浏览器通过url访问nginx,nginx接收到浏览器发送过来的http请求,将包解析分析url,如果是静态文件则直接访问用户给nginx配置的静态文件目录,直接返回用户请求的静态文件。 若不是静态文件,动态请求的话,nginx将请求转发给uwsgi,uwsgi接收到 阅读全文
posted @ 2021-05-19 19:47 简直😓 阅读(717) 评论(0) 推荐(0) 编辑
摘要:在日常的工作中涉及到了关于检测用户是否在线的功能需求,在方案设计过程中考虑过使用http-keepalive的方式,由于我们获取到的keepalive是经过nginx转发的keep-alive,所以最后选择了实时更新数据库的方案,借此机会总结一下关于http-alive的一些问题。 http kee 阅读全文
posted @ 2021-05-19 19:26 简直😓 阅读(238) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ默认集群原理 rabbitmq 本身是基于erlang编写,erlang语言天生具备分布式的特性(通过同步Erlang集群各节点的erlang cookie实现),RabbiteMQ天然支持集群,集群是保证可靠性的一种方式,同时可以通过水平扩展可达到增加消息吞吐量能力的目的 上图为三 阅读全文
posted @ 2021-05-16 22:50 简直😓 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2021-05-16 20:57 简直😓 阅读(85) 评论(0) 推荐(0) 编辑
摘要:python 中nonloal 关键字用来在函数或其他作用域中使用外层变量(非全局),也可使用global需要在函数外部 阅读全文
posted @ 2021-05-16 20:25 简直😓 阅读(249) 评论(0) 推荐(0) 编辑
摘要:消息中间件在工作中一般都不会采用单机模式的,该篇其实是对mq的高可用等等常见问题做一些归纳。 消息队列的高可用 普通集群与镜像集群模式,此处不做深究,另开一篇专门讲述此处 如何保证消息不被重复消费 保证消息队列幂等性,为什么会造成重复消费,正常消费时消费者在消费消息时候,消费完毕会发送一个确认信息给 阅读全文
posted @ 2021-05-14 15:17 简直😓 阅读(143) 评论(0) 推荐(0) 编辑
摘要:在工作中常常会用到消息中间件RabbitMQ,但是自己却一直没合适的机会总结一些关于rabbitmq的知识,今天就总结一下这方面的知识 消息队列 消息,在应用间传送的数据。消息队列,应用间的通信方式,消息发送后可以立即返回,由消息队列来确保消息的可靠传递,发布者只负责讲消息发布到MQ中,消费者只管从 阅读全文
posted @ 2021-05-13 19:58 简直😓 阅读(71) 评论(0) 推荐(0) 编辑
摘要:在实际的业务开发中遇到过由于无幂等性,造成脏数据的情况,阅读过系统中别人写的请求去重部分的逻辑,深感在开发过程中保证接口幂等性的重要,由此总结接口幂等的内容。 幂等的数学概念 幂等是源于一种数学概念。其主要有两个定义 如果在一元运算中,x 为某集合中的任意数,如果满足 f(x) = f(f(x)) 阅读全文
posted @ 2021-05-13 14:58 简直😓 阅读(154) 评论(0) 推荐(0) 编辑
摘要:当对两个点的实例进行值的比较时,比如p1=Point(1,1) p2=Point(1,2),判断p1==p2时__eq__()会被调用,用以判断两个实例是否相等。在上述代码中定义了只要x和y的坐标相同,两个点相等。需要注意,__eq__()对is不生效,==是比较的值,而is比较的是引用,也就是内存 阅读全文
posted @ 2021-05-11 15:48 简直😓 阅读(1003) 评论(0) 推荐(0) 编辑
摘要:append 添加的是一个对象 extend 添加的是序列与原序列合并 阅读全文
posted @ 2021-05-11 11:58 简直😓 阅读(77) 评论(0) 推荐(0) 编辑
摘要:在工作学习中会碰到一些python中变量与内存层面的问题理解,虽然是在不断的解决,但是并没有做过这方面的总结。 变量:用来标识(identify)一块内存区域。为了方便表示内存,我们操作变量实质上是在操作变量指向的那块内存单元。编译器负责分配。我们可以使用Python内建函数id()来获取变量的地址 阅读全文
posted @ 2021-05-11 11:57 简直😓 阅读(298) 评论(0) 推荐(0) 编辑
摘要:RIP基于UDP,BGP基于TCP,OSPF EGP基于IP 在TCP/IP协议栈中定义的路由协议用于发现和维护前往目的地的最短路径。可以认为它们不属于网络层协议(注意,是用based on,而不是实现了,BGP用TCP,所以BGP是应用层的,TCP用IP,所以TCP是传输层的,OSPF用IP,所以 阅读全文
posted @ 2021-05-10 11:41 简直😓 阅读(1724) 评论(0) 推荐(1) 编辑
摘要:python 元组解包unpacking,同一语句中多重赋值 cpython 认为几种变量的交换是比较常见的,提供了专门的优化指令,像【-5,256】预先放到了整数池中一样, 阅读全文
posted @ 2021-05-01 14:25 简直😓 阅读(95) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示