PHP+Go 开发仿简书,实战高并发高可用微服务架构

适合人群

从事PHP研发一段时间,不满足只进行CRUD的开发人员

想进阶到高级开发的人员

技术栈单一,就业压力大

底层原理知识缺乏,经常被面试题难住的人员

技术储备

使用过php就可以学习

使用过redis、es、rabbitmq,掌握它们的基本操作更好

环境参数

PHP 7.0+

Go 1.14+

ThinkPHP 6

ElasticSearch 5.6

Mysql 5.7

Redis 6.0+

RabbitMQ 3.8

Gin 1.5

Swoole 4.8

Swoft 2.0+

  • 第1章 课程导学 3 节 | 49分钟PHP进阶高级研发或者架构师必须掌握的能力(源码剖析和框架定制能力、分布式/微服务架构能力、 高性能高可用业务场景解决能力、海量数据存储/分布式缓存能力、海量数据搜索能力、高可用消息中间件能力、 平台性能调优能力、数据结构和算法能力),课程结合上面几点打造千万级项目架构设计。
    • 视频:1-1 课程导学 (16:11)
    • 视频:1-2 百万级架构设计 (20:26)
    • 视频:1-3 千万级架构设计 (11:47)
  • 第2章 高可用高性能存储应用8 节 | 95分钟本章不仅实现了mysql主从复制和读写分离高可用方案以及分库分表高性能解决方案。 还在针对mysql的优化进行了底层的讲解,涉及底层数据结构、MVCC核心规则、幻读等。 让小伙伴具备了打造高可用高性能存储的能力。
    • 视频:2-1 高性能高可用存储架构模式 (06:17)
    • 视频:2-2 详解Mysql索引以及Btree和B+tree(一) (16:10)
    • 视频:2-3 详解Mysql索引以及Btree和B+tree(二) (14:00)
    • 视频:2-4 深入分析事务和MVCC (19:31)
    • 视频:2-5 主从复制和读写分离 (16:14)
    • 视频:2-6 分库分表 (08:32)
    • 视频:2-7 一致性 Hash 算法 (07:42)
    • 视频:2-8 中间件和总结 (05:50)
  • 第3章 高可用高性能缓存的应用10 节 | 118分钟本章对Redis底层存储结构和原理、持久化方案、hotkey bigkey、IO多路复用模型、Redis集群模式、高并发双写一致、雪崩、击穿、穿透等进行系统剖析。并在最后对系统的负载均很做了讲解和分析。让小伙伴具备了打造高可用高性能缓存的能力。…
    • 视频:3-1 redis缓存原理与设计 (08:30)
    • 视频:3-2 redis数据类型以及底层结构和原理 (25:13)
    • 视频:3-3 redis事务机制和IO多路复用 (21:11)
    • 视频:3-4 redis持久化机制以及缓存过期和淘汰策略_1 (13:58)
    • 视频:3-5 redis Cluster模式,集群数据分布算法(哈希槽算法)和节点通信协议 (10:53)
    • 视频:3-6 缓存中问题的应对方案 – 穿透、雪崩、击穿 (06:54)
    • 视频:3-7 布隆过滤器 (09:47)
    • 视频:3-8 如何避免高并发场景下出现数据不一致的问题 (07:28)
    • 视频:3-9 hotkey bigkey的发现和解决方法 (04:45)
    • 视频:3-10 redis并发竞争问题以及分布式锁 (08:37)
  • 第4章 微服务架构规划设计方案7 节 | 56分钟微服务, 单体架构优缺点, 常见的几种架构模式。微服务设计要素和实时中常见问题分析。以及三个火枪手拆分方案和康威定律在微服务拆分中的应用。并在最后对木剑书项目进行了微服务拆分,为后面章节做准备。
    • 视频:4-1 千万级用户规模计算架构设计 – 微服务架构 (11:38)
    • 视频:4-2 通过几个问题谈谈微服务架构设计要素 (08:03)
    • 视频:4-3 微服务实施中的肯定会遇到的一些问题 (12:21)
    • 视频:4-4 微服务拆分方法和三个火枪手拆分原则、AKF原则 (09:08)
    • 视频:4-5 康威定律 (07:45)
    • 视频:4-6 微服务实战木剑书项目拆分 (03:25)
    • 视频:4-7 总结 (03:19)
  • 第5章 微服务注册中心和配置中心8 节 | 55分钟本章通过consul实现了微服务的两个组件配置中心和注册中心,以及如何实现consul的高可用和可靠性。同时深入讲解了集群角色的选举和实现原理。Consul组件如何实现配置中心的功能。最后讲解了PHP如何接入注册中心和配置中心,如何使用它们。…
    • 视频:5-1 微服务注册中心对比,以及consul注册中心运行流程 (09:37)
    • 视频:5-2 PHP接入consul,注册服务和发现服务 (13:45)
    • 视频:5-3 保证consul的可靠性,consul集群 (07:25)
    • 视频:5-4 consul集群角色选举Raft算法 (06:48)
    • 视频:5-5 配置中心的重要性,微服务配置中心对比 (06:02)
    • 视频:5-6 consul支持配置中心的实现 (04:36)
    • 视频:5-7 PHP接入consul配置中心 (05:13)
    • 视频:5-8 总结 (01:22)
  • 第6章 微服务API网关设计8 节 | 64分钟在本章对主流网关进行了对比,以及对kong进行技术细节理解,中我们将体验到kong的基本功能,包括url动态路由,jwt的认证配置,并了解了如何将consul的服务注册中心集成到kong的体系中。
    • 视频:6-1 API网关在实际场景中应用以及主流网关产品(kong,zuul,nginx)对比 (05:58)
    • 视频:6-2 什么是kong?以及kong的实现原理 (11:59)
    • 视频:6-3 kong实现动态负载均衡 (13:13)
    • 视频:6-4 kong实现Basic Auth和jwt认证 (12:52)
    • 视频:6-5 kong实现Oauth2认证 (09:27)
    • 视频:6-6 kong实现限流 (03:38)
    • 视频:6-7 kong实现黑白名单 (02:54)
    • 视频:6-8 总结 (03:13)
  • 第7章 打造高性能高可用ElasticSearch搜索中间件9 节 | 81分钟Lucene倒排索引机制和底层存储结构深入讲解。通过ElasticSearch实现搜索服务。并利用ElasticSearch对功能进行性能优化。最后讲解了如何对ElasticSearch服务进行调优。并对底层实现的原理、流程以及算法进行剖析并讲解。让小伙伴具备打造高性能高可用搜索中间件的能力。…
    • 视频:7-1 引擎工具包Lucene和ElasticSearch的关系 (06:16)
    • 视频:7-2 Lucene底层存储结构和顺序扫描法的原理 (03:25)
    • 视频:7-3 什么是FST-1_1 (15:57)
    • 视频:7-4 全文检索流程以及倒排索引机制 (05:23)
    • 视频:7-5 倒排索引创建流程以及基于倒排索引的搜索流程 (04:07)
    • 视频:7-6 分词以及修改IK Analyzer支持热更新词库 (06:35)
    • 视频:7-7 ElasticSearch api实际场景的应用 (10:03)
    • 视频:7-8 零停机索引重建(索引别名) (03:21)
    • 视频:7-9 Elasticsearch高可用分布式集群 (25:27)
  • 第8章 打造高性能高可用RabbitMQ消息队列中间件7 节 | 102分钟利用RabbitMQ对功能进行性能优化。大家在本章可以学习到RabbitMQ使用中几个重要的问题,本章工作模式、私信队列以及协议和可靠性幂等性等,让小伙伴具有打造高性能高可用消息队列中间件的能力。
    • 视频:8-1 深入理解AMQP协议 (06:29)
    • 视频:8-2 RabbitMQ五种工作模式实现以及原理剖析(一) (22:31)
    • 视频:8-3 RabbitMQ五种工作模式实现以及原理剖析(二) (19:48)
    • 视频:8-4 RabbitMQ五种工作模式实现以及原理剖析(三) (18:21)
    • 视频:8-5 RabbitMQ消息持久化和消息确认机制(ACK) (05:39)
    • 视频:8-6 RabbitMQ死信队列和延迟队列 (14:49)
    • 视频:8-7 RabbitMQ高可用集群 (13:44)
  • 第9章 结合swoole、swoft、微服务化 – 实现千万级用户规模架构项目工程化搭建15 节 | 262分钟学其所用,用其所学。本章通过swoole和swoft,并对上面章节学到的知识redis、rabbitMQ、elasticsearch、微服务 的知识进行充分运用进行项目工程化搭建,并深度讲解实现机制和原理。
    • 视频:9-1 服务端基础知识透析 (16:42)
    • 视频:9-2 swoole介绍以及为什么swoole适合做微服务 (06:28)
    • 视频:9-3 http、tcp、udp服务端和客户端 (16:43)
    • 视频:9-4 Swoole打造协程数据库连接池 (30:07)
    • 视频:9-5 swoole多进程异步任务以及类MQ解决方案 (16:16)
    • 视频:9-6 swoft安装和注解机制 (26:57)
    • 视频:9-7 composer和实现注解路由(一) (13:25)
    • 视频:9-8 composer和实现注解路由(二) (26:08)
    • 视频:9-9 Swoft-RPC服务 (18:11)
    • 视频:9-10 接入consul实现服务注册 (16:32)
    • 视频:9-11 接入consul实现服务发现 (14:05)
    • 视频:9-12 简单轮询算法获取consul服务信息 (12:12)
    • 视频:9-13 平衡加权轮询算法 (26:17)
    • 视频:9-14 服务治理限流、熔断、降级 (18:54)
    • 视频:9-15 总结 (02:16)
  • 第10章 千万级用户规模架构项目实战11 节 | 189分钟利用上一章搭建的千万级架构,实现仿简书项目。让小伙伴具备大型项目解决方案的能力。同时增加后台管理CMS项目可以直接应用到企业中
    • 视频:10-1 项目需求分析 (11:01)
    • 视频:10-2 项目微服务架构搭建和业务代码架构搭建 (11:35)
    • 视频:10-3 kong整合consul,通过kong调用后端服务 (11:55)
    • 视频:10-4 登录、注册、修改基本信息功能实现(一) (21:35)
    • 视频:10-5 登录、注册、修改基本信息功能实现(二) (20:44)
    • 视频:10-6 文集和文章相关功能开发 (23:04)
    • 视频:10-7 实现搜索功能,swoft中如何使用es和mq (21:53)
    • 视频:10-8 实现排行榜功能,swoft中如何使用redis (25:35)
    • 视频:10-9 vue+elementPlus管理后台展示,通过配置实现增删改查 (23:54)
    • 视频:10-10 PHP垃圾回收机制 (07:23)
    • 视频:10-11 PHP优化之OPcache (09:39)
  • 第11章 技术栈升级 – Go语言8 节 | 148分钟程序员在成长到一定高度以后开发语言已经不是瓶颈,面试需求中GO语言也已经是常规加分项了。本章技术栈进阶,利用GO框架gin改造消息服务,实现跨语言服务间调用。让大家在技术栈中得到进阶。
    • 视频:11-1 Go入门,安装、Helloworld、ifelse、for、break、函数、指针 (26:43)
    • 视频:11-2 数组、切片、map、结构体、面向对象、自定义包 (24:49)
    • 视频:11-3 Go并发编程,协程、通道 (16:10)
    • 视频:11-4 Golang runtime (09:56)
    • 视频:11-5 Go反射 (24:38)
    • 视频:11-6 Gin框架的使用和封装 (18:30)
    • 视频:11-7 gin集成consul实现服务发现和注册 (09:26)
    • 视频:11-8 go-gin微服务实现通知消息功能 (17:22)
  • 第12章 课程总结1 节 | 3分钟课程总结
    • 视频:12-1 总结 (02:30)

克里斯IT » PHP+Go 开发仿简书,实战高并发高可用微服务架构

升级SVIP尊享全站课程免费下载学习等超值特权

立即升级