- 博客(9)
- 收藏
- 关注
原创 Redis Sentinel (哨兵)
Redis Sentinel (哨兵)Sentinel(哨兵)是 Redis 的高可用解决方案:由一个或者多个 Sentinel 实例组成的 Sentinel 系统可以监控多个主服务器,以及主服务器下属的所有从服务器,并在被监控的主服务器进入下线状态时,自动进行故障转移,新的主服务器代替已经下线的主服务器继续处理命令请求。Sentinel 初始化sentinel的本质就是一个运行在特殊模式下...
2018-12-11 15:26:05 263 1
原创 服务注册发现
需要服务注册发现的场景服务分布式部署的情况下,假设 Service-A 调用 Service-B,如下图:当然也可以使用其他的负载均衡代替Nginx, 原理都是一样的需要提前将 Service-B 所有机器的 ip 和 端口配好,以便负载均衡可以按照一定的规则找到 Service-B。在微服务的架构中,可能需要调用的服务不止一个 Service-B,还有 Service-C、Service...
2019-10-14 10:45:21 183
原创 go module
简介go1.11发布后,出现了一个实验中的go module,项目的运行可以不再依赖 GOPATH,项目目录可以放在任何的目录下面,所有项目依赖的 packages 全部下载到 $GOPATH/pkg/mod/cache 下 or $GOROOT/pkg/mod/cache 下面统一管理。开启 go module通过环境变量GO111MODULE来控制是否使用go mod 方式来管理包。 G...
2019-05-06 11:19:07 196
原创 Nginx 与php交互的原理
在介绍 nginx 与 php 交互的原理之前先介绍几个相关的概念Nginx : 一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。cgi协议: 解决不同的语言解释器(如php、Python解释器)与webserver的通信,webserver每收到一个请求,都会去fork一个cgi进程,请求结束再kill掉这个进程。fast-cgi : 实现单个进程可...
2019-01-07 21:36:37 1684
原创 PHP 接口性能优化
对于 PHP 接口性能优化思路不同的业务有不同的方式,但是排查思路和解决问题的思路基本雷同,遇到性能瓶颈首先要定位问题,找到瓶颈点,下一步根据瓶颈点进行优化定位问题xhprof通过 xhprof 分析调用链中的耗时的部分,从而定位问题,但是由于 xhprof 会影响性能,所以在大流量的线上业务如果要定位问题可以通过如下两种方式避免影响线上业务性能灰度部分在线上环境使用xhprof无疑会影...
2019-01-07 21:34:52 1501
原创 PHP开发中的安全问题
###XSS攻击####原理:XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。xss漏洞一般发生于与用户交互的地方。####危害:恶意弹出消息框,影响用户体验获取用户的cookie或者ajax请求攻击者的服务器窃取...
2019-01-07 21:33:25 473
原创 Session 共享
共享实现方式使用 redis 代替原有的文件存储 session 信息实现共享配置 PHP 的 INI 配置文件实现将 session.save_handler 配置项修改为 session.save_handler = redis将 session.save_path 配置项修改为 session.save_path = "tcp://127.0.0.1:6379", 其中 save_...
2019-01-07 21:30:45 86
原创 Session & Cookie
###cookiehttp协议具有无状态的特性,在session没有出现之前,基本上所有的网站都采用Cookie来跟踪会话。cookie跟session的不同在于,cookie是在客户端记录信息确定用户身份。创建cookiesetCookie($cookieName,$value,[$expire],[$path],[$domain],[$secure]);cookieName: co...
2019-01-07 21:29:17 125
原创 PHP自动加载及包管理
autoload魔术方法__autoload()作用PHP面向对象开发中常常把重复使用的类放在一个或几个文件中,使用的时候引用这些文件来包含需要的类。__autoload可以自动加载需要的类的文件,这样没有使用到的类文件就不会被引用,以提高效率,代码也更加整洁。原理当使用到本文件中没有声明的类时,就会调用__autoload(),系统会按照该方法中定义的规则自动加载需要的文件。实例f...
2019-01-07 21:28:01 272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人