微服务开发与调用
# 1 简介
苍穹为微服务调用上层封装,简化集群中不同微服务之间的调用操作提供了微服务调用帮助类kd.bos.servicehelper.DispatchServiceHelper。
苍穹依据应用进行微服务拆分。对于平台应用而言平台的功能为通用型,jar包会在每一个节点上进行部署。而对于业务而言其功能jar包只会部署在自身所在的应用节点上,因此需要调用到正确的节点才能的到正确的调用返回。因此微服务调用帮助类中区分了以下类型的调用:
+ **平台微服务调用**:该类别的微服务调用会依据负载均衡算法调用到集群中任一节点。
+ **业务微服务调用**:该类别的微服务调用会调用到指定的业务集群的节点上。
+ **二开微服务调用**:该类别的微服务调用会调用到指定二开注册的微服务节点上。
**二开微服务必须由服务工厂注册定义才能使用,因此必须要有服务工厂类,服务工厂路由规则为:{isv标识|公司标识}.{云id}.{应用id}.ServiceFactory**。示例如下:
+ 新建微服务接口示例:isv.ti.bo.mservice.xxxService
+ 新建服务工厂示例:isv.ti.bo.ServiceFactory
# 2 应用场景
微服务开发和调用的相关场景皆适用。
# 3 接口说明
微服务开发与调用相关接口定义和实现存在于bos-servicehelper-1.0.jar中。使用者只需要调用kd.bos.servicehelper.DispatchServiceHelper类的相关方法即可。
## 3.1 接口列表
| 方法 | 说明 |
| - | - |
| getBOSService | 获取平台提供的微服务 |
| invokeBOSService | 平台微服务调用 |
| invokeBizService | 业务微服务调用 |
| invokeService | 二开业务调用 |
## 3.2 接口详情
### getBOSService
+ **功能描述**
通过应用Id获取平台提供的微服务接口。
+ **方法**
```java
static <T> T getBOSService(String appId, String serviceName, Class<T> bizCls)
```
+ **参数说明**
| 参数 | 类型 | 说明 |
| - | - | - |
| appId | String | 应用Id |
| serviceName | String | 注册的服务名称 |
| bizCls | Class\<T> | 微服务接口类 |
+ **返回值**
微服务代理实现Class对象。
### invokeBOSService
+ **功能描述**
平台微服务调用。
+ **方法**
```java
static Object invokeBOSService(String appId, String serviceName, String methodName, Object... paras)
```
+ **参数说明**
| 参数 | 类型 | 说明 |
| - | - | - |
| appId | String | 应用Id |
| serviceName | String | 注册的服务名称 |
| methodName | String | 调用服务方法 |
| paras | Object[] | 方法入参 |
+ **返回值**
微服务调用返回结果。
### invokeBizService
+ **功能描述**
业务微服务调用。
+ **方法**
```java
static <T> T invokeBizService(String cloudId, String appId, String serviceName, String methodName, Object... paras)
```
+ **参数说明**
| 参数 | 类型 | 说明 |
| - | - | - |
| cloudId | String | 云Id |
| appId | String | 应用Id |
| serviceName | String | 注册的服务名称 |
| methodName | String | 调用服务方法 |
| paras | Object[] | 方法入参 |
+ **返回值**
微服务调用返回结果。
### invokeService
+ **功能描述**
业务微服务调用。
+ **方法**
```java
static <T> T invokeService(String factoryQualifiedPrefix, String appId, String serviceName, String methodName, Object... paras)
```
+ **参数说明**
| 参数 | 类型 | 说明 |
| - | - | - |
| factoryQualifiedPrefix | String | Factory类限定前缀 |
| appId | String | 应用Id |
| serviceName | String | 注册的服务名称 |
| methodName | String | 调用服务方法 |
| paras | Object[] | 方法入参 |
> Factory类限定前缀,如:服务工厂isv.ti.bo.ServiceFactory 的 factoryQualifiedPrefix为isv.ti.bo
+ **返回值**
微服务调用返回结果。
微服务开发与调用
# 1 简介苍穹为微服务调用上层封装,简化集群中不同微服务之间的调用操作提供了微服务调用帮助类kd.bos.servicehelper.DispatchServiceHe...
点击下载文档
本文2024-09-23 00:27:57发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139635.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章