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.前端.架构.全栈等等),无奈博客起步太晚,写博文的时间又没有很 ...
随机推荐
- Hibernate JPA 动态criteria语句针对null查询条件的特殊处理
最近原Hibernate项目需要添加一个条件,结构有点类似下面的格式,学生和房间是多对一的关系,现在要查询所有没有房间的学生. Class Student{ @ManyToOne Room room; ...
- Chatbot思考录
人工分词产生不一致性的原因主要在于人们对词的颗粒度的认知问题.在汉语里,词是表达意最基本的意思,再小意思就变了.在机器翻译中会有一种颗粒度比另外一种颗粒度更好的情况,颗粒度大的翻译效果好. 为了解决词 ...
- Coursera-AndrewNg(吴恩达)机器学习笔记——第二周
一.多变量线性回归问题(linear regression with multiple variables) 搭建环境OctaveWindows的安装包可由此链接获取:https://ftp.gnu. ...
- IOC框架:Unity
Unity 是一个轻量级.可扩展的依赖注入容器,支持构造函数.属性和方法调用注入. 在进行项目之前通过Nuget安装Unity 简单的例子 定义一个接口 namespace UnityTest { / ...
- day07
放完了愚人节的假期后就忘记更新了,这样不好,学习的态度也有点懒散了,需要调整过来,这几天在做一个退款流程,想好了建表.逻辑设计和需求分析,然后就是写具体的代码了,有些东西还是要多学习,不然书到用时方恨 ...
- angular5学习笔记(deep in 路由)
最近接手了一个angular5的项目.项目本身是由不同的人开发的,所有代码结构风格本身就有很大不同,加上本身接触angular5也不久,之前都是使用1,所有自身压力还是很大的. 接手前几天当然是熟悉代 ...
- The JRE_HOME environment variable is not defined correctly
启动Tomcat后startup.bat脚本调用了catalina.bat,然后catalina.bat调用了setclasspath.bat,setclasspath.bat的头部定义了JAVA_H ...
- 浅谈通信网络(三)——TCP/IP协议
简介 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议.In ...
- SVN 使用方法
svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件的全路径) [本地目录全路 ...
- 定时器Timer的使用
概述 Timer类的主要作用是设置计划任务,但封装任务的类却是TimerTask类.执行计划任务的代码要放入TimerTask的子类中,因为TimerTask是一个抽象类. 方法schedule(ta ...