微服务开发与调用

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

微服务开发与调用

# 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...
点击下载文档
上一篇:文件存储下一篇:数据库事务
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息