📚 课程介绍
本课程将带领你学习如何使用PHP和Go语言开发仿简书,实战构建高并发高可用微服务架构,适合有一定编程基础,希望深入学习微服务架构的开发者。
📋 学习前提
1. PHP基础(了解PHP编程语言的基本语法和面向对象编程)
2. Go语言基础(掌握Go语言的语法和常用库)
3. Linux基础(熟悉Linux操作系统的基本命令和常用操作)
4. 数据库基础(了解关系型数据库的基本原理和SQL语法)
5. 网络基础(了解TCP/IP协议和网络编程的基本概念)
📖 课程目录
第1章 课程导学
1-1 课程导学
1-2 百万级架构设计
1-3 千万级架构设计
第2章 高可用高性能存储应用
2-1 高性能高可用存储架构模式
2-2 详解Mysql索引以及Btree和Btree一
2-3 详解Mysql索引以及Btree和Btree二
2-4 深入分析事务和MVCC
2-5 主从复制和读写分离
2-6 分库分表
2-7 一致性Hash算法
2-8 中间件和总结
第3章 高可用高性能缓存的应用
3-1 Redis缓存原理与设计
3-2 Redis数据类型以及底层结构和原理
3-3 Redis事务机制和IO多路复用
3-4 Redis持久化机制以及缓存过期和淘汰策略
3-5 RedisCluster模式集群数据分布算法哈希槽算法和节点通信协议
3-6 缓存中问题的应对方案-穿透雪崩击穿
3-7 布隆过滤器
3-8 如何避免高并发场景下出现数据不一致的问题
3-9 Hotkeybigkey的发现和解决方法
3-10 Redis并发竞争问题以及分布式锁
第4章 微服务架构规划设计方案
4-1 千万级用户规模计算架构设计-微服务架构
4-2 通过几个问题谈谈微服务架构设计要素
4-3 微服务实施中的肯定会遇到的一些问题
4-4 微服务拆分方法和三个火枪手拆分原则AKF原则
4-5 康威定律
第5章 微服务注册中心和配置中心
5-1 微服务注册中心对比以及consul注册中心运行流程
5-2 PHP接入consul注册服务和发现服务
5-3 保证consul的可靠性consul集群
5-4 consul集群角色选举Raft算法
5-5 配置中心的重要性微服务配置中心对比
5-6 consul支持配置中心的实现
5-7 PHP接入consul配置中心
5-8 总结
5-9 使用说明
5-10 使用教程(必看)
第6章 微服务API网关设计
6-1 API网关在实际场景中应用以及主流网关产品kongzuulnginx对比
6-2 什么是kong以及kong的实现原理
6-3 kong实现动态负载均衡
6-4 kong实现BasicAuth和jwt认证
6-5 kong实现Oauth2认证
6-6 kong实现限流
6-7 kong实现黑白名单
6-8 总结
第7章 打造高性能高可用ElasticSearch搜索中间件
7-1 引擎工具包Lucene和ElasticSearch的关系
7-2 Lucene底层存储结构和顺序扫描法的原理
7-3 什么是FST-1
7-4 全文检索流程以及倒排索引机制
7-5 倒排索引创建流程以及基于倒排索引的搜索流程
7-6 分词以及修改IKAnalyzer支持热更新词库
7-7 Elasticsearchapi实际场景的应用
7-8 零停机索引重建索引别名
7-9 Elasticsearch高可用分布式集群
第8章 打造高性能高可用RabbitMQ消息队列中间件
8-1 深入理解AMQP协议
8-2 RabbitMQ五种工作模式实现以及原理剖析一
8-3 RabbitMQ五种工作模式实现以及原理剖析二
8-4 RabbitMQ五种工作模式实现以及原理剖析三
8-5 RabbitMQ消息持久化和消息确认机制ACK
8-6 RabbitMQ死信队列和延迟队列
8-7 RabbitMQ高可用集群
8-8 使用说明
8-9 使用教程(必看)
8-10 课程资料下载
