Skip to content

微服务

提供与http体验一致的微服务

只能实现一次输入-一次输出这个模式

目前支持rabbitmq/redis/kafka/nats/bullmq/websocket/electron

创建控制器

controller是为http服务的,在这里需要的是rpc

创建test.rpc.ts

ts
import { Arg, Event, Queue, Rpc } from 'phecda-server'

@Rpc()
export class TestRpc {
  @Queue()

  run(@Arg() /** 只是一个标识 */ arg: string) {
    console.log(`arg is ${arg}`)
    return arg
  }

  @Queue('test')// 走test这个channel
  @Event() // 标记这个是事件模式,不会返回任何值
  event(@Arg() arg: string) {
    console.log(`arg is ${arg}`)
  }
}

初始化+产生代码

ts
const data = await Factory([UserController], {
  generators: [new RPCGenerator()]
})

整体流程没有不同

案例

electron

websocket

其他rpc

Released the MIT License.