0 小高的成长之路

尚未进行身份认证

暂无相关简介

等级
TA的排名 43w+

php用select实现I/O复用

前言在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select、poll和epoll是Linux API提供的I/O复用方式,其实I/O多路复用就是通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪...

2019-12-24 16:20:18

Linux五大网络IO模型图解

文章目录阻塞io(同步io)非阻塞io(同步io)io复用(同步io)信号驱动io(同步io)异步io总结对于一个应用程序即一个操作系统进程来说,它既有内核空间(与其他进程共享),也有用户空间(进程私有),它们都是处于虚拟地址空间中。用户进程是无法访问内核空间的,它只能访问用户空间,通过用户空间去内核空间复制数据,然后进行处理。阻塞io(同步io)发起请求就一直等待,直到数据返回。好比你...

2019-12-20 17:41:47

docker实现redis主从复制

文章目录主从复制说明面临问题什么是主从复制主从复制的作用主从复制启用主从复制原理构建dockerfile构建redis镜像docker创建自定义网络及redis主从集群规划docker启动容器测试主从复制主从复制说明面临问题在实际的场景当中单一节点的redis容易面临风险。比如:机器故障。我们部署到一台 Redis 服务器,当发生机器故障时,需要迁移到另外一台服务器并且要保证数据是同步...

2019-12-19 17:01:46

Swoole处理Tcp粘包问题(面向过程)

文章目录TCP通信特点TCP粘包介绍原因swoole处理粘包重现TCP粘包问题固定包头+包体协议TCP通信特点TCP 是流式协议没有消息边界,客户端向服务器端发送一次数据,可能会被服务器端分成多次收到。客户端向服务器端发送多条数据。服务器端可能一次全部收到。保证传输的可靠性,顺序。TCP拥有拥塞控制,所以数据包可能会延后发送。TCP粘包介绍TCP 粘包是指发送方发送的若干包数据 ...

2019-12-15 16:20:41

Swoole TCP和UDP(同步和异步)

Tcp: 舔狗行为 可靠 先连接然后发消息等待回复Udp: 渣男行为 不可靠 不需要建立连接 通信不需要一直保持tcp服务端<?php//创建Server对象,监听 127.0.0.1:9501端口$serv = new Swoole\Server("127.0.0.1", 9501);//监听连接进入事件$serv->on('Connect', func...

2019-12-14 12:23:11

消息中间件Kafka - PHP操作使用Kafka

文章目录PHP使用Kafka安装libkafka安装rdkafkaphp操作kafkaPHP使用Kafka我们需要安装libkafka和rdkafka安装libkafka下载去GitHub上克隆下来git clone https://github.com/edenhill/librdkafka.git安装cd librdkafka/./configure &&...

2019-08-27 17:40:57

消息中间件Kafka - 介绍及安装

文章目录Kafka介绍优势关键概念安装Kafka介绍优势高吞吐量:非常普通的硬件Kafka也可以支持每秒数百万的消息支持通过Kafka服务器和消费机集群来区分消息支持Hadoop并行数据加载关键概念Broker:Kafka集群中的一台或多台服务器统称为broker。Topic:Kafka处理的消息源(feeds of messages)的不同分类。Partition:Top...

2019-08-27 17:36:36

消息队列 - 应用场景

文章目录消息队列相关概念异步处理应用解耦流量削锋日志处理消息通讯主要产品消息队列相关概念消息队列中间件时分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。异步处理场景说明:用户注册成功后,发送注册邮件,再发送注册短信。串行方式:将注册信息写入数据库成功后,向用户发送邮件,再发送注册短信...

2019-08-27 17:35:51

ElasticSearch全文检索引擎-使用

文章目录ElasticSearch使用手册官网索引elasticsearch-jdbcElasticSearch使用手册官网es-docses-php-docs索引创建索引vim createindex.json { "settings": { "refresh_interval": "5s", "number_of_shards"...

2019-08-27 17:35:08

ElasticSearch全文检索引擎-安装

文章目录ElasticSearch安装安装JDK安装ElasticSearch安装ik中文分词ElasticSearch和ik分词安装成功ElasticSearch安装安装JDK下载rpm包wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; ...

2019-08-27 17:34:43

ElasticSearch全文检索引擎-介绍

文章目录全文检索数据分类:两种方法全文检索过程全文检索引擎相关产品ElasticSearch为什么要选择ElasticSearch全文检索一种将文件种或者数据库中所有文本与检索项匹配的文字资料检索方法。对全文数据的检索数据分类:结构化数据 行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据 能够用数据或统一的结构加以表示 数字、符号去表示非结构化数...

2019-08-27 17:34:04

Laravel使用Repository模式

文章目录Laravel使用Repository模式Laravel如何部署安装laravel部署命令自定义使用方法Laravel使用Repository模式什么是Repository模式?Repository 模式是架构模式,在设计架构时,才有参考价值;Repository 模式主要是封装数据查询和存储逻辑;Repository 模式实际用途:更换、升级 ORM 引擎,不影响业务逻辑;...

2019-08-27 17:33:27
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。