远程实体
远程实体指外部微服务中的实体,通过http(s)远程接口进行访问,接口协议需要符合jmms接口规范。
远程实体一般用于跨微服务之间实体的引用,如用户服务是一个基础服务,其他服务的实体通常需要关联用户信息,这个场景需要使用远程实体来实现。
定义一个远程实体
远程实体和本地实体的定义基本一致,只需要额外增加几个属性:
Example:
User.json
{
"remote": true,
"serviceName": "user",
"servicePath": "/user",
...
}
Field Name | Type | Description |
---|---|---|
remote | boolean |
是否远程实体 |
serviceName | string |
Required. 远程实体所在服务的名称 |
servicePath | string |
远程实体相对于远程服务基础url的相对路径 |
配置远程服务
定义远程实体后,还需要配置远程服务的地址信息:
属性:services.{serviceName}.url
config.json
{
"services": {
"user" : {
"url": "https://users.api.example.com"
}
}
}