当新建的微服务模块需要提供给内部其他模块使用时,可在kems-api模块下新建api-xx模块,同时定义被调用的接口(另做好熔断及降级配置),消费模块引用api-xx即可。

image-20210419170506265

具体请参考kems-api-system模块中的配置及实现。以kems-api-system为例,使用步骤如下。

1. 依赖集成

  <dependency>
      <groupId>com.kingengine.kems.api</groupId>
      <artifactId>kems-api-system</artifactId>
  </dependency>

2. 服务及熔断配置

feign:
  circuitbreaker:
    enabled: true #在Feign中开启circuitbreaker
  client:
    config:
      system:
        name: modules-system #配置服务名

3. 启动类配置

@EnableFeignClients({"com.kingengine.kems.api.system.*"})

不推荐扫描basePackage时配置全量包名,扫描指定api即可。

KEMS提供的api模块均会指明限定包名

4. rpc调用

  @Service
  public class UserServiceImpl implements IUserService {
      @Resource
      private RemoteUserService remoteUserService;

      @Override
      public Result<LoginBody> getUserInfo(String loginName) {
          Result<LoginBody> result=remoteUserService.getUserInfo(loginName);
          // 其他业务代码
          return new Result<>();

      }
  }
Copyright © 2017-2023 深圳金证引擎科技有限公司 all right reserved,powered by Gitbook该文件最后修订时间: 2023-06-09 09:49:14

results matching ""

    No results matching ""