木木的木头

一只爱折腾的小程序猿

大数据去重之布隆过滤器

布隆过滤器

什么是布隆过滤器 本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。 相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。 实现原理 HashMap 的问题 讲述布隆过滤器...

离不开的微服务架构,脱不开的RPC细节

微服务

服务化有什么好处? 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦,如下图所示: 服务A:欧洲团队维护,技术背景是Java 服务B:美洲团队维护,用C++实现 服务C:中国团队维护,技术栈是go 服务的上游调用方,按照接口、协议即可完成对远端服务的调用。 但实际上,大部分互联网公司,研发团队规模有限,大都使用同一套技术体系来实现服务:...

使用Docker搭建nginx&php环境

Docker

引言 本来在Linux下使用apt或者yum搭建环境非常快,但是在分布式架构下使用docker部署更方便各个服务的管理。 安装php-fpm #拉取镜像 docker pull bitnami/php-fpm #创建实例 docker run \ -d \ -v /data/wwwroot:/usr/share/nginx/html \ --name m_phpfpm...

一份ThinkPHP的Nginx配置

TP的Nginx配置

server { listen 80; server_name localhost; location / { root /usr/share/nginx/html/public; index index.php index.html index.htm; if (!-e $request_file...

crontab无日志问题

crontab

crontab无日志问题 在Ubuntu中,crontab默认是不记录日志的。很多时候遇到crontab不执行,或者执行出错根本找不到原因。网上各种博客都说看日志。卧槽,哪有日志呀,根本没有好不。 打开crontab日志 sudo vim /etc/rsyslog.d/50-default.conf #将cron前面的注释符去掉 cron.* /var...

一份PHP面试题

PHP

记录 进程线程了解多少 php for while foreach迭代数组时候,哪个效率最高 协程知道不 tcp udp区别是啥 php的对象克隆知道多少 tcp 三次握手四次挥手 tcp状态转移 redis为啥单线程 redis集群了解多少 数据库 存储引擎 说一下TCP协议为什么收到的数据是完整且有序的 fpm进程模型 得搞一波 画下innodb主键索...

SSRR部署记录

SSRR

富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善

技术精进 | PHP 进程系列(1)— PHP-FPM模型

PHP-FPM模型

技术精进 | PHP 进程系列(1)— PHP-FPM模型 从这篇文章开始,我会从 PHP-FPM 进程模式起,到 Linux 进程,最后回到 PHP 本身谈一谈如何设计一个 PHP 的进程池。主要分为五个部分 ①:PHP-FPM 的多进程模型 ②:Linux 进程介绍 ③:PHP 中的多进程 ④:进程间通讯 ⑤:PHP 的进程池设计 PHP-FPM 多进程模型是本系列的开篇。那么,我们...

MAC系统android studio中gradle报错

android studio

以前没在mac上用过android studio,今天在mac上装上,clone下来项目,编译,瞬间红了一片。我去,一个一个调,最后剩一个 Connect to jcenter.bintray.com:443 打死搞不定。网上找了都说改gradle.properties文件,但是改了也没什么卵用。google翻了一下午,最后终于有人说,mac系统下面在 \User\user\.gradl...

Nginx反向代理Github Page项目配置文件

Nginx反向代理

server { listen 80; ## 监听 IPv4 80 端口 server_name domain.com; location / { proxy_pass https://jiangwei1995910.github.io; proxy_redirect ...