微服务流程
首先讲一下微服务的流程
弄清楚流程, 开发起来就行云流水
这是官方给出的目录结构
app/
- Lib/ // 服务的公共接口定义目录,里面通常只有php接口类
- Pool/ // 服务池配置,里面可以配置不同服务的连接池,参考里面的 UserServicePool
- Services/ // 具体的服务接口实现类,里面的类通常实现了 Lib 中定义的接口
当然在多个服务中使用时, 要将lib库 app/Lib移到一个公共的git仓库里,然后各个服务通过 composer 来获取使用
这里有3个目录
Lib
是接口, 也是客户端和服务端必须的, 用来规定数据结构, 一般由服务端提供
服务端还需要实现Services
, 也就是相当于Model
层
客户端可以通过配置Pool
来调用对应的Services
, 如同调用自身的Model
一样方便
整个流程不是很难理解, 但是官方把三个目录放在一起, 并且没有详细说明, 导致很多同学搞不清楚
下面我们来写一个例子试一下吧
定义一个接口
在app/Lib
新建接口文件MemberInterface
定义一个getMemberByID
方法, 并且根据官方提示, 在接口注释里定义一个deferGetMemberByID
方法