摘要: cgi: 1. fork and excute 每次来一个请求,就fork出去一个子进程,结束之后再关闭。来新请求还要重新fork子进程。 fastcgi: 可以理解为常驻型的cgi。使用了进程/线程池的概念(master进程,和众多worker进程)。每次来一个请求时,只需要将socket长连接( 阅读全文
posted @ 2020-03-02 23:19 DevelopersAndGamers 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 一、Es是如何实现分布式的 1.Es本身基于lucene,高度支持分布式的核心思想就在于,在多个服务器上启动多个Es进程实例,组建了一套Es集群。 2.其次,因为shard分片的应用,非常灵活的支持数据量横向扩展(只需要重建一个索引,多加shard,把数据迁进去)。再者说shard的数据其实是有多个 阅读全文
posted @ 2020-02-27 23:34 DevelopersAndGamers 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 一、Redis 数据类型 1. string 字符型。 2.hash hash 结构化的对象。 key不可重复 3.list 队列 lpush rpop lpop rpush 4. set 集合 value不可重复 5. zset 有序集合 set的基础上加了分数(排序)。 二、Redis事务 1. 阅读全文
posted @ 2020-02-26 22:41 DevelopersAndGamers 阅读(241) 评论(0) 推荐(0) 编辑
摘要: epoll和 select poll 都是做I/O多路复用的。 区别在于: epoll较灵活,如果有一百万个链接状态同时保持,但是在某个时刻,只有几百个链接是活跃的。epoll的处理是通过epoll_create()创建对象,epoll_ctl()收集所有的套接字添加到epoll对象,epoll_w 阅读全文
posted @ 2020-02-26 13:46 DevelopersAndGamers 阅读(529) 评论(0) 推荐(0) 编辑
摘要: <?php /** * PHP实现简易的微信红包算法 * @version v1.0 * @author quetiezheng */ function getMoney($total, $people){ if($people <= 0){ return []; } $people = intva 阅读全文
posted @ 2020-02-26 13:24 DevelopersAndGamers 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 1. 轮询 upstream backserver { server 192.168.0.14; server 192.168.0.15; } 此方式默认,将各请求按时间顺序逐一打到不同的后端服务器,如果某台服务器down了,会被自动剔除。 2. 权重 upstream backserver { s 阅读全文
posted @ 2020-02-25 17:53 DevelopersAndGamers 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一致性哈希是指分布式系统做负载均衡策略时的一种算法。 前言:本身负载均衡策略有一种模式是通过hash算法,将一些固定请求映射到固定某台服务器上。这样有个弊端就是,如果某台服务器挂了,或者新增机器的时候,这种用户id与服务器的hash关系就会大量失效。 一致性哈希的出现主要是为了解决此场景。 原理:1 阅读全文
posted @ 2020-02-24 20:40 DevelopersAndGamers 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 一、列举一些PHP的设计模式 单例模式:保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个,同时这个类还必须提供一个访问该类的全局访问点。 工厂模式:定义一个创建对象的接口,但是让子类去实例化具体类。工厂方法模式让类的实例化延迟到子类中。 观察者模式:观察者模式有时也被称作发布/ 阅读全文
posted @ 2020-02-18 19:30 DevelopersAndGamers 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 一、乐观锁和悲观锁 1.悲观锁是指假设并发更新会发生冲突,不管冲突是否会发生,都会使用锁机制。 优点: 完全保证数据安全。 缺点:锁机制会有额外开销,并发度降低。 可能会产生死锁。 2. 乐观锁是指假设数据不会发生冲突,只在数据提交更新的时候,才会对数据是否冲突进行检测(通过版本号),如果发现冲突, 阅读全文
posted @ 2020-02-17 21:29 DevelopersAndGamers 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 一、网络协议分层 OSI七层: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP四(五)层 : 物理层(主要是光电信号的传输)、 数据链路层(MAC地址、以太网协议)、网络层(IP协议、主机到主机的通信)、传输层(TCP协议,端口到端口的通信)、应用层(HTTP、SSL、F 阅读全文
posted @ 2020-02-17 18:44 DevelopersAndGamers 阅读(228) 评论(0) 推荐(0) 编辑