电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

微服务整体介绍

来源:金蝶云社区作者:金蝶2024-09-232

微服务整体介绍

1 功能介绍

微服务是一种开发软件的架构和组织方法。在苍穹中,通过明确定义的API 将平台业务依据应用进行微服务拆分。微服务调用kd.bos.servicehelper.DispatchServiceHelper为微服务上层封装,起到简化集群中不同微服务之间的调用操作的作用。

 

对于平台应用而言,平台的功能为通用型,jar包会在每一个节点上进行部署;而对于业务而言,其功能jar包只会部署在自身所在的应用节点上,因此需要调用到正确的节点才能的到正确的调用返回。因此微服务调用区分了以下类型:

  • 平台微服务调用,该类别的微服务调用会依据负载均衡算法调用到集群中任一节点;

  • 业务微服务调用,该类别的微服务调用会调用到指定的业务集群的节点上;

  • 二开微服务调用,该类别的微服务调用会调用到指定二开注册的微服务节点上。

 

说明:二开微服务必须由服务工厂注册定义才能使用,因此必须要有服务工厂类,服务工厂路由规则为:{isv标识|公司标识}.{云id}.{应用id}.ServiceFactory

例如:

  • 新建微服务接口示例:isv.ti.bo.mservice.xxxService

  • 新建服务工厂示例:isv.ti.bo.ServiceFactory

 

目前苍穹使用的负载均衡算法为健康度负载算法。

举例,调用平台健康检查服务:

String result = DispatchServiceHelper.invokeBOSService(
    "bos", "HealthValidateService","validate",appNumbers);

 

2 用户场景

苍穹微服务目前支持输入参数为: String, Boolean, Long, Integer, Timestamp, Double, BigDecimal, List(列表), Map(结构), Object[](数组,只支持通用型,具体类型的数组暂不支持)的微服务,其他类型不支持。

 

3 API概览

方法

说明

static T getBOSService (String appId, String serviceName, Class bizCls)

通过应用Id获取平台提供的微服务

static Object invokeBOSService (String appId, String serviceName, String methodName, Object… paras)

平台微服务调用

static T invokeBizService (String cloudId, String appId, String serviceName, String methodName,Object… paras)

业务微服务调用

static T invokeService (String factoryQualifiedPrefix, String appId, String serviceName, String methodName, Object… paras)

二开业务调用

 

4 API详情

4.1 通过应用Id获取平台提供的微服务接口

static <T> T getBOSService(String appId, String serviceName, Class<T> bizCls)
  • 传入参数:

参数名称

参数

参数类型

是否必传

应用Id

appId

String

注册的服务名称

serviceName

St

微服务整体介绍

1 功能介绍微服务是一种开发软件的架构和组织方法。在苍穹中,通过明确定义的API 将平台业务依据应用进行微服务拆分。微服务调用kd.bos.s...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信