php架构之路
鉴于最近跟小伙伴聊了很多PHP架构发展方向的问题,相关技术整理了一下,也顺便规划了一下自己的2019年。
一.常用的设计模式以及使用场景
以下是我用到过的 工厂,单例,策略,注册,适配,观察者,原型,装饰器,facade,loc,pipeline
二.阅读一个框架源码 例如:laravel
三.常用利器优化
- mysql性能优化
(1)理解底层btree机制 (2)理解sql执行 (3)mysql索引优化 (4)慢查询与sql优化 (5)mysql主从以及读写分离 (6)mysql分表策略以及意义 (7)数据库中间件
- redis优化使用
(1)redis特点 (2)redis工作流程 (3)redis数据类型以及适用场景 (4)redis内存分配 (5)redis主从快照等
(6)redis批量操作优化 - nginx性能
(1)nginx详解 (2)nginx配置 (3)nginx机制 (4)nginx集群 (5)nginx原理 (6)nginx扩展-可以基于openresty做扩展开发
- php性能(压轴)
(1)是否优雅的创建对象 (2)类的设计陷阱 (3)程序设计规范 (4)php垃圾回收机制 (5)php-fpm相关 (6)php源码
四.微服务
- swoole
(1)swoole基础 (2)swoole进程模型 (3)task异步任务,任务迟 (4)server服务器 (5)数据库连接池 (6)多进程 (7)协程
- api接口
(1)api架构设计 (2)api接口实现 (3)api接口扩展能力 (4)api自动生成文档(可自己配置wiki平台) (5)api性能调优
- swoft微服务框架
(1)微服务设计模式 (2)路由网关 (3)客户端负载均衡 (4)conful服务治理 (5)RPC (6)微服务治理环节 (7)微服务监控 (8)容灾
五.工程化
- linux 操作 各种命令操作
- python或shell脚本编写
- composer的使用
- git的使用 gitlab或gogs
六.基础架构
- 分布式架构原理
(1)分布式初始化 (2)分布式架构设计原则 (3)分布式通讯技术 (4)分布式协议
- 分布式缓存
(1)redis主从原理 (2)redis分布式集群部署 (3)redis数据一致性问题 (4)redis读写分离 (5)redis哨兵 (6)redis常见问题以及优化 (7)redis缓存击穿以及雪崩预防策略
- 分布式rpc
(1)IO的概念 (2)多协议通讯 (3)并发处理 (4)rpc框架
- 消息中间件 redis,kafka等熟悉,以及判断适用场景
七.压力测试工具
ab,jmeter,LoadRunner,wrk 我使用比较多的是jmeter
八.其他语言的学习
golang,lua等
寄语:世上无难事,只要肯攀登😊~