Upgrade to Pro — share decks privately, control downloads, hide ads and more …

API Meetup #22 LT大会(Apitore)

API Meetup #22 LT大会(Apitore)

ApitoreにおけるWebAPIのマイクロサービス化について
Apitoreはアルゴリズムのマーケットプレイスなので、いくつものWebAPIをホスティングしています。本日はApitoreがどのように複数のWebAPIをホスティングしているのかご紹介します

Keigo Hattori

October 06, 2017
Tweet

More Decks by Keigo Hattori

Other Decks in Programming

Transcript

  1. Apitoreの構成(一部) 6 API Server Eureka Algo1 Algo1 Algo2 Algo3 In:

    Input data Out: Output data In: Where is algo? Out: IP+Port In: Input data Out: Output data In: IP+Port
  2. Apitoreの構成(一部) 7 API Server Eureka Algo1 Algo1 Algo2 Algo3 In:

    Input data Out: Output data In: Where is algo? Out: IP+Port In: Input data Out: Output data In: IP+Port マイクロサービスを管理 (Spring Cloud Eureka)
  3. Apitoreの構成(一部) 8 API Server Eureka Algo1 Algo1 Algo2 Algo3 In:

    Input data Out: Output data In: Where is algo? Out: IP+Port In: Input data Out: Output data In: IP+Port マイクロサービスを管理 (Spring Cloud Eureka) よく使われるアルゴはインスタンスを増やす (Spring Boot + Spring Cloud Eureka) マイクロサービスにアクセス (Spring Cloud Feign)
  4. Apitoreの構成(一部) 10 API Server (Oauth Resource Server + Spring Security)

    Eureka Algo1 Algo1 Algo2 Algo3 In: Input data Out: Output data In: Where is algo? Out: IP+Port In: Access token Input data Out: Output data In: IP+Port • Access tokenはUUID • ユーザー管理とAccess tokenの認可 (Spring Security Oauth2.0)
  5. Apitoreの構成(一部) 12 API Server (Oauth Resource Server + Spring Security)

    Eureka Algo1 Algo1 Algo2 Algo3 In: Input data Out1: Output data In: Where is algo? Out: IP+Port In: Access token Input data Out1: Output data In: IP+Port Out2: Swagger spec • Swagger specをアルゴ配下にする • アルゴと一緒にマイクロサービスでSwagger spec を配信する (Spring Boot + Spring Cloud Eureka + SpringFox) Out2: Swagger spec