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

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

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

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

.常用利器优化

  1. mysql性能优化

    (1)理解底层btree机制
    (2)理解sql执行
    (3)mysql索引优化
    (4)慢查询与sql优化
    (5)mysql主从以及读写分离
    (6)mysql分表策略以及意义
    (7)数据库中间件
  2. redis优化使用
    (1)redis特点
    (2)redis工作流程
    (3)redis数据类型以及适用场景
    (4)redis内存分配
    (5)redis主从快照等
    (6)redis批量操作优化

      

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

      

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

四.微服务

  1. swoole

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

      

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

      

  3. swoft微服务框架
    (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)分布式协议

      

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

      

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

      

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

七.压力测试工具

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

八.其他语言的学习

golang,lua等

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

php架构之路的更多相关文章

  1. 架构之路(九)Session Per Request

    前面的两篇反应很差:没评论没赞.很伤心啊,为什么呢?搞得我好长一段时间都没更新了——呵呵,好吧,我承认,这只是我的借口.不过,还是希望大家多给反馈.没有反馈,我就只能猜了:前面两篇是不是写得太“粗”了 ...

  2. 第四章 电商云化,4.1 17.5W秒级交易峰值下的混合云弹性架构之路(作者:唐三 乐竹 锐晟 潇谦)

    4.1 17.5W秒级交易峰值下的混合云弹性架构之路 前言 每年的双11都是一个全球狂欢的节日,随着每年交易逐年创造奇迹的背后,按照传统的方式,我们的成本也在逐年上升.双11当天的秒级交易峰值平时的近 ...

  3. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)

    [前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下N ...

  4. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(三)

    参考网址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 [前言] 在<架构之路:nginx与IIS服务器搭 ...

  5. [转帖]java架构之路-(面试篇)JVM虚拟机面试大全

    java架构之路-(面试篇)JVM虚拟机面试大全 https://www.cnblogs.com/cxiaocai/p/11634918.html   下文连接比较多啊,都是我过整理的博客,很多答案都 ...

  6. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)

    最近亮亮在研究IIS的负载均衡!本人由于初出茅庐,防骗意识薄弱,一不小心被亮亮坑上了IIS负载均衡之路(亮亮是真黑哈!).前车之鉴啊!小伙伴们要小心.不过既上了贼船,便决定一条道走到黑.于是乎从大前天 ...

  7. Java之架构(0) - 架构之路

    软件架构作为一个概念,体现在技术和业务两个方面. 从技术角度来说:软件架构随着技术的革新不断地更新其内容,软件架构建立于当前技术和一些基本原则的基础之上. 先说一些基本原则: 分层原则:分层是为了降低 ...

  8. 架构之路(八)从CurrentUser说起

    CurrentUser,也就是当前用户,这是我们系统中大量使用的一个概念. 确认当前用户 当然,我们利用的是cookie:用户的ID存放在cookie中,服务器端通过cookie中的Id,查找数据库, ...

  9. 【架构之路之WCF全析(一)】--服务协定及消息模式

    上周微软开公布会说.NET支持全然跨平台和并开放Core源代码的新闻,让我们顿时感到.NET要迎来它的春天.尽管早在几年前.NET就能开发Android和IOS,可是这次的跨平台把Linux都放到了微 ...

  10. 《浅谈架构之路:单点登录 SSO》

    前言:SSO 单点登录 “半吊子”的全栈工程师又来了,技术类的文章才发表了两篇,本来想先将主攻的几个系列都开个头(Nodejs.Java.前端.架构.全栈等等),无奈博客起步太晚,写博文的时间又没有很 ...

随机推荐

  1. C++负数取模

    预习: r=余数 a=被除数 b=除数 c=商 a/b=c........r r=a-(a/b)*b 一.下面的题目你能全做对吗?1.7/4=?2.7/(-4)=?3.7%4=?4.7%(-4)=?5 ...

  2. Java的精确整数计算-Bigdecimal学习总结和工具类

    随笔:随着最近工作需要,回首需要涉及到一些精确的数据计算,就需要用到Bigdecimal,索性就趁着闲暇之余整理收集一下关于Bigdecimal的使用方法,由于时间的原因,整理的并不是特别详细,但相信 ...

  3. 最详细的JavaWeb开发基础之java环境搭建(Windows版)

    阅读文本大概需要 3 分钟. 首先欢迎大家来学习JavaWeb,在这里会给你比较详细的教程,从最基本的开始,循序渐进的深入.会让初学者的你少踩很多坑(大实话),如果你已经掌握了JavaWeb开发的基础 ...

  4. .NET之IOC控制反转运用

    当前场景: 如果有不同的用户.使用同一个系统.而不同的客户有某些不同的需求.在不改变系统主体的情况下,可以直接使用IOC控制反转依赖搭建项目 1.添加接口层 目前里面只有一个会员的类.里面有一个登录接 ...

  5. 管理和安装 chart - 每天5分钟玩转 Docker 容器技术(168)

    安装 chart 当我们觉得准备就绪,就可以安装 chart,Helm 支持四种安装方法: 安装仓库中的 chart,例如:helm install stable/nginx 通过 tar 包安装,例 ...

  6. Linux内核调试方法

    内核配置选项中要使能CONFIG_MAGIC_SYSRQ选项,这样系统启动之后,会生成/proc/sysrq-trigger节点用于调试. 其次,可以在/etc/sysctl.conf中设置kerne ...

  7. BigDecimal.setScale 处理java小数点

    BigDecimal.setScale()方法用于格式化小数点setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余 ...

  8. @Controller和@RestController之间的区别

    1. Controller, RestController的共同点 都是用来表示Spring某个类的是否可以接收HTTP请求 2. Controller, RestController的不同点 @Co ...

  9. SSM-MyBatis-03:Mybatis中简单的整合日志

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------简单的整合日志,首先提供俩种方式,log4j和logback简单的说一下logback,他由log4j的原作者编 ...

  10. linux或Mac中./与/

      mac终端命令和linux中命令是一致的,在执行可执行xxx.sh文件时,需要进入xxx.sh文件所在的目录,然后输入./xxx.sh才可以执行成功 1.为什么需要添加./   因为linux/u ...