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等
寄语:世上无难事,只要肯攀登
php架构之路的更多相关文章
- 架构之路(九)Session Per Request
前面的两篇反应很差:没评论没赞.很伤心啊,为什么呢?搞得我好长一段时间都没更新了——呵呵,好吧,我承认,这只是我的借口.不过,还是希望大家多给反馈.没有反馈,我就只能猜了:前面两篇是不是写得太“粗”了 ...
- 第四章 电商云化,4.1 17.5W秒级交易峰值下的混合云弹性架构之路(作者:唐三 乐竹 锐晟 潇谦)
4.1 17.5W秒级交易峰值下的混合云弹性架构之路 前言 每年的双11都是一个全球狂欢的节日,随着每年交易逐年创造奇迹的背后,按照传统的方式,我们的成本也在逐年上升.双11当天的秒级交易峰值平时的近 ...
- 架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)
[前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下N ...
- 架构之路:nginx与IIS服务器搭建集群实现负载均衡(三)
参考网址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 [前言] 在<架构之路:nginx与IIS服务器搭 ...
- [转帖]java架构之路-(面试篇)JVM虚拟机面试大全
java架构之路-(面试篇)JVM虚拟机面试大全 https://www.cnblogs.com/cxiaocai/p/11634918.html 下文连接比较多啊,都是我过整理的博客,很多答案都 ...
- 架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)
最近亮亮在研究IIS的负载均衡!本人由于初出茅庐,防骗意识薄弱,一不小心被亮亮坑上了IIS负载均衡之路(亮亮是真黑哈!).前车之鉴啊!小伙伴们要小心.不过既上了贼船,便决定一条道走到黑.于是乎从大前天 ...
- Java之架构(0) - 架构之路
软件架构作为一个概念,体现在技术和业务两个方面. 从技术角度来说:软件架构随着技术的革新不断地更新其内容,软件架构建立于当前技术和一些基本原则的基础之上. 先说一些基本原则: 分层原则:分层是为了降低 ...
- 架构之路(八)从CurrentUser说起
CurrentUser,也就是当前用户,这是我们系统中大量使用的一个概念. 确认当前用户 当然,我们利用的是cookie:用户的ID存放在cookie中,服务器端通过cookie中的Id,查找数据库, ...
- 【架构之路之WCF全析(一)】--服务协定及消息模式
上周微软开公布会说.NET支持全然跨平台和并开放Core源代码的新闻,让我们顿时感到.NET要迎来它的春天.尽管早在几年前.NET就能开发Android和IOS,可是这次的跨平台把Linux都放到了微 ...
- 《浅谈架构之路:单点登录 SSO》
前言:SSO 单点登录 “半吊子”的全栈工程师又来了,技术类的文章才发表了两篇,本来想先将主攻的几个系列都开个头(Nodejs.Java.前端.架构.全栈等等),无奈博客起步太晚,写博文的时间又没有很 ...
随机推荐
- Django signals机制的几个简单问题
1.Django signals机制不是异步执行,是同步执行,所以需要异步执行的耗时任务不能用这个. 2.异步耗时任务不用这个,那些用signals?主要是解耦那些多次重复场合被调用的函数.直接用事件 ...
- Java 重入锁 ReentrantLock 原理分析
1.简介 可重入锁ReentrantLock自 JDK 1.5 被引入,功能上与synchronized关键字类似.所谓的可重入是指,线程可对同一把锁进行重复加锁,而不会被阻塞住,这样可避免死锁的产生 ...
- Scala编程入门---面向对象编程之对象
对象 Object,相当于class单个实例,通常在里面放一些静态的filed或method 第一次调用object方法时候,就会执行object的constructor,也就是Object中不在me ...
- HTML 学习笔记 day one
HTML学习笔记 day one Chapter one 网站开发基础 1.2网站的基本架构 网站的基本要素:内容,页面,超链接 动态网页和静态网页的区别在于:动态网页会自动更新,后缀名是.asp或者 ...
- SOFA 源码分析 — 连接管理器
前言 RPC 框架需要维护客户端和服务端的连接,通常是一个客户端对应多个服务端,而客户端看到的是接口,并不是服务端的地址,服务端地址对于客户端来讲是透明的. 那么,如何实现这样一个 RPC 框架的网络 ...
- php $_SERVER['HTTP_USER_AGENT'] 用法介绍
在PHP中HTTP_USER_AGENT是用来获取用户的相关信息的,包括用户使用的浏览器,操作系统等信息, 显示结果为: Mozilla/5.0 (Windows NT 6.1; WOW64) App ...
- Maven项目管理工具
Maven项目管理工具 白面郎君 Svn eclipse maven量级 1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目 ...
- Mysql 查询缓存总结
Mysql 查询缓存总结 MySQL查询缓存解释 缓存完整的SELECT查询结果,也就是查询缓存.保存查询返回的完整结果.当查询命中该缓存,mysql会立刻返回结果,跳过了解析.优化和执行阶段, 查询 ...
- 原生 JavaScript 实现扫雷
学习了这么长时间的 JS,不能光看不练,于是就写了个小游戏练习一下.因为自己还是个菜鸟,所以有错误的话还请各位大佬多多指点,谢谢啦~ 如果感兴趣的话可以试试:Demo 项目地址:game-mineSw ...
- MyISAM和InnoDB的索引实现
在 MySQL 中,主要有四种类型的索引,分别为: B-Tree 索引, Hash 索引, Fulltext 索引和 R-Tree 索引.我们主要分析B-Tree 索引. B-Tree 索引是 MyS ...