先说清楚:这门课解决什么问题
这套资料讲的是 Swoft 2.x 框架里的微服务基础,不是从零讲 PHP 语法,也不是泛泛介绍 Swoole 扩展。它针对的是一类很具体的场景:你用 Swoft 写了几个独立服务,现在要让它们互相调用,并且希望调用方自己能知道“谁在线、谁挂了”,而不是把服务地址硬编码在配置里。资料围绕 Consul 做服务注册与发现,带你把“服务启动时登记、退出时注销、调用前查健康列表、按算法挑一个地址”这条链路走通。如果你的工作场景只是单体应用,或者你还没碰过 Swoft,这部分内容暂时用不上;但如果你已经在做多服务拆分,需要解决地址管理和故障剔除,这门课就是冲着这个痛点来的。
适合什么基础,建议先看哪几块
它要求你先能独立用 Swoft 2.x 跑起一个 HTTP 服务,并且对 Composer、闭包、接口这些常规概念不陌生。资料本身不会带你补框架入门,默认你看得懂服务注册、反注册、健康检查这几步在框架里大致落在什么位置。建议先看服务注册进 Consul 那段,理解“启动登记、退出注销”的时机;接着看健康检查的两种配置,搞清楚 Consul 是主动探活还是服务主动上报;最后看服务发现里的三种选取算法——随机、ip_hash、简单轮询,这部分是后面封装调用端的基础,也是判断这门课值不值的关键:如果这几段讲得清楚、能对上你的实际调用链,这套资料就值得继续往下用。
学完能独立做什么,资料怎么配合练习
学完之后,你应该能独立完成一件具体的事:给一个已有的 Swoft 服务加上 Consul 注册逻辑,写一个调用端,让它从 Consul 拉健康服务列表、按指定算法挑地址发起请求,并在某个节点下线后自动不再调用它。练习时建议这样配合资料:先照着把两个服务地址注册进 Consul,手动停掉其中一个,观察列表变化;然后自己实现一种选取算法,不要只抄课程里的随机和轮询,试着加一个“最近最少调用”的变体,验证你是否真的理解了选取环节;最后把调用端封装成一个可复用的类,放进你自己的项目里跑一次完整调用。能跑通这条链路,就算把基础篇吃透了;至于更复杂的服务治理和 RPC 细节,等后续进阶内容再接上。
本课程是swoft2.x系列的第二篇,基于swoft2.x服务治理和rpc相关内容进行速学讲解,并结合场景练习加深印象
课程目录
* 第一章:swoft服务注册与发现 cplist.push('第一章:swoft服务注册与发现');/
* 第1讲:开张课、服务注册与发现简介、consul
* 第2讲:把服务注册进consul、 退出时反注册
* 第3讲:加入基本的http健康检查配置(两种方法)
* 第4讲:服务发现(1):模拟注册两个服务地址、获取服务列表
* 第5讲:服务发现(2):列出健康的服务、源码适应性修改
* 第6讲:服务发现(3):封装Consul代码、结合健康检查获取健康的服务列表
* 第7讲:服务发现(5): 使用随机算法选取服务
* 第8讲:服务发现(6): 使用简单ip_hash算法选取服务
* 第9讲:服务发现之加入简单轮询算法
* 第10讲:服务调用:初步封装client类、调用http api






