首页 > 编程语言 >php架构之路,phper进阶,学习路线

php架构之路,phper进阶,学习路线

时间:2023-04-03 18:00:12浏览次数:36  
标签:进阶 redis phper nginx api php 优化 分布式

 

鉴于最近跟小伙伴聊了很多PHP架构发展方向的问题,相关技术整理了一下,也顺便规划了一下自己下年。【我的学习路线】

.常用的设计模式以及使用场景

       以下是我用到过的   工厂,单例,策略,注册,适配,观察者,原型,装饰器,facade,loc,pipeline

.阅读一个框架源码 例如:laravel

.常用利器优化

  1. mysql性能优化 复制代码 复制代码
    (1)理解底层btree机制
    (2)理解sql执行
    (3)mysql索引优化
    (4)慢查询与sql优化
    (5)mysql主从以及读写分离
    (6)mysql分表策略以及意义
    (7)数据库中间件
    复制代码 复制代码

     

  2. redis优化使用
    1 2 3 4 5 (1)redis特点 (2)redis工作流程 (3)redis数据类型以及适用场景 (4)redis内存分配 (5)redis主从快照等<br>(6)redis批量操作优化

      

  3. nginx性能
    1 2 3 4 5 6 (1)nginx详解 (2)nginx配置 (3)nginx机制 (4)nginx集群 (5)nginx原理 (6)nginx扩展-可以基于openresty做扩展开发 

      

  4. php性能(压轴)
    1 2 3 4 5 6 (1)是否优雅的创建对象 (2)类的设计陷阱 (3)程序设计规范 (4)php垃圾回收机制 (5)php-fpm相关 (6)php源码  

四.微服务

  1. swoole
    1 2 3 4 5 6 7 (1)swoole基础 (2)swoole进程模型 (3)task异步任务,任务迟 (4)server服务器 (5)数据库连接池 (6)多进程 (7)协程

      

  2. api接口
    1 2 3 4 5 (1)api架构设计 (2)api接口实现 (3)api接口扩展能力 (4)api自动生成文档(可自己配置wiki平台) (5)api性能调优

      

  3. swoft微服务框架
    1 2 3 4 5 6 7 8 (1)微服务设计模式 (2)路由网关 (3)客户端负载均衡 (4)conful服务治理 (5)RPC (6)微服务治理环节 (7)微服务监控 (8)容灾

      

五.工程化

  1. linux 操作 各种命令操作
  2. python或shell脚本编写
  3. composer的使用
  4. git的使用  gitlab或gogs

六.基础架构

  1. 分布式架构原理
    1 2 3 4 (1)分布式初始化 (2)分布式架构设计原则 (3)分布式通讯技术 (4)分布式协议

      

  2. 分布式缓存
    1 2 3 4 5 6 7 (1)redis主从原理 (2)redis分布式集群部署 (3)redis数据一致性问题 (4)redis读写分离 (5)redis哨兵 (6)redis常见问题以及优化 (7)redis缓存击穿以及雪崩预防策略

      

  3. 分布式rpc
    1 2 3 4 (1)IO的概念 (2)多协议通讯 (3)并发处理 (4)rpc框架

      

  4. 消息中间件 redis,kafka等熟悉,以及判断适用场景

 

七.压力测试工具

        ab,jmeter,LoadRunner,wrk  我使用比较多的是jmeter

八.其他语言的学习

        golang,lua等

标签:进阶,redis,phper,nginx,api,php,优化,分布式
From: https://www.cnblogs.com/yzl042349/p/17283860.html

相关文章

  • php 如何实现 git diff
    无意间想到这个问题,如何用php来实现gitdiff,如果实现了这个功能,岂不是能够使用php对在线编辑文件的功能做更进一步的优化和提升?查了一下还真有这样的库,话不多说,开始执行composerrequire--devsebastian/diff得到结果Infofromhttps://repo.packagist.org:#StandW......
  • PHPExcel 中文使用手册详解
     1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848......
  • linux使用php动态安装模块mysqli.so(ext/mysqlnd/mysqlnd.h: 没有那个文件或目录)
     由于我先安装的php,再安装的mysql!正常过程: 1、安装mysql 2、安装phpconfigure时带–with-mysql参数现在我不想重装,因此使用phpize动态安装mysqli,php版本为php-7.2.13 1先查看php下phpize路径  得知路劲为/usr/local/php/bin/phpize2切换到php源码包目录php-7......
  • 如何在PHP7中扩展mysql,先安装php7.2。后安装mysql
     相对与PHP5,PHP7的最大变化之一是移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可能看到过这样的提示”Deprecated:mysql_connect():Themysqlextensionisdeprecatedandwillberemovedinthefu......
  • 性能工具之Taurus场景使用(进阶篇)
    前言在上两文中介绍了安装和入门使用,本文我们来看看Taurus一些进阶的玩法。性能工具之Taurus入门(安装篇)性能工具之Taurus使用(入门篇)复杂场景统一测试复杂场景的压力测试,如果有多个同学从事脚本开发,则有时必须使用多个测试脚本文件。这意味着将多个测试脚本需要集成到单个压力测试......
  • 【环境搭建】docker+nginx部署PHP
    目的使用docker容器完成nginx的安装以及部署PHP网页步骤一、安装nginx1.拉取Nginx镜像dockerpullnginx//拉取镜像dockerimages//查看本地镜像这里注意需要记一下nginx的IMAGEID,我这里的ID是605c2.创建Nginx容器dockerrun......
  • php查找判断二维数组中是否含有某个值
    $arr=array(array('a','b'),array('c','d'));in_array('a',$arr);//此时返回的永远都是falsedeep_in_array('a',$arr);//此时返回true值functiondeep_in_array($value,$array){forea......
  • php爬虫框架盘点
    大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。GoutteGoutte库非常有用,它可以为您提供有关如何使用PHP抓取内容的出色支持。基于Symfony框架,它提供了API来抓......
  • php爬虫框架盘点
    大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。GoutteGoutte库非常有用,它可以为您提供有关如何使用PHP抓取内容的出色支持。基于Symfony框架,它提供了API......
  • 28.ElasticSearch进阶
    两种查询方式在将所有的检索条件全部放在url里GETbank/_search?q=*&sort=account_number:asc表示在banK索引下查询所有文档根据account_number正序  hits里有10条数据,总数是1000,可以看出ES默认做了分页。我们以 /_cat/health 为例试一下:索引一个文档(保存)保......