php架构之路

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

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

       以下是我用到过的   工厂,单例,策略,注册,适配,观察者,原型,装饰器,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等

 

寄语:世上无难事,只要肯攀登😊~

posted @   ~煎饼果子~  阅读(4940)  评论(1编辑  收藏  举报
编辑推荐:
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
阅读排行:
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 提示词工程师自白:我如何用一个技巧解放自己的生产力
· 一文搞懂MCP协议与Function Call的区别
· 如何不购买域名在云服务器上搭建HTTPS服务
点击右上角即可分享
微信分享提示