springbootconfigspringbootSpring Boot

迁移到spring cloud方案思考

2017-10-18  本文已影响175人  jey恒

现状

现状.png

迁移思路

最小spring cloud

image.png

Eureka部署

迁移步骤

首先解决网关Eureka集成问题

 DynamicServerListLoadBalancer
 

统一ribbon复杂均衡灰度功能

首先规范eureka的metamap所需要的信息

迁移

image.png

*这样就只需要添加一套api的接口,dto和其他的都不用改变

/**
 * @date: 17/10/24
 */
@FeignClient("upms-service")
@RequestMapping("/upms/skillGroup")
public interface SkillGroupApi {


  /**
   * 获取员工所属技能组
   *
   * @param jobNo 员工工号
   * @return
   */
  @GetMapping("/getListByJobNo")
  GrootResult<List<SkillGroupInfoDto>> getListByJobNo(@RequestParam("jobNo") String jobNo);

}
      <dependency>
            <groupId>com.yyfq.groot.upms</groupId>
            <artifactId>upms-cloud-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
@EnableFeignClients(
    basePackageClasses = SkillGroupApi.class
)
@Configurable
public class ApiConfig {

}
/**
 * @date: 17/10/24
 */
@Api(tags = "test", description = "测试")
@RestController
@RequestMapping("/test")
public class TestController extends AbstractController {

 // 注入 SkillGroupApi 即可
  @Autowired
  private SkillGroupApi skillGroupApi;


  @ApiOperation("获取技能组")
  @GetMapping("skillGroup")
  public List<SkillGroupInfoDto> skillGroup(String jobNo) {

    GrootResult<List<SkillGroupInfoDto>> result = skillGroupApi.getListByJobNo(jobNo);

    return result.getResult();
  }
}

服务调用规范

集成分布式追踪

<dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-server</artifactId>
        </dependency>

        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-ui</artifactId>
        </dependency>
@SpringBootApplication
@EnableZipkinServer
public class ZipkinApplication {

  public static void main(String[] args) {
    SpringApplication.run(ZipkinApplication.class, args);
  }
}
上一篇下一篇

猜你喜欢

热点阅读