Scalaへの移行どうも、大曲です。去年あたりから、Scalaをプロダクトで使い始めました。上記の順番で徐々に使う範囲を広げていきました。(約1年くらいかけました。そのおかげで、ほとんどの機能をScalaで書く様になりました。(自分のチームのみですが。一足先にScalaをがっつり使ったチームになってしまいました。今回はRPCをがっつり使ったマイクロサービスの話ではないです。Finagleを使った話です。下の資料は、プライベートなLT大会で今回の内容を話した時に作った資料です。https://twitter.github.io/finagle/RPCのシステムなのでリクストの流れをコードで簡単に実装できそうだったから、採用しました。Finagleを使って実装した流れさて、実際にどんな感じで実装したかのですが。下の図がFinagleを使った場合の流れです。今回は、サンプルコードの流れを図にしました。自分のチームではPlayを使ってます。Fiangleの全体の実装は、サンプルをみてもらえる分かると思います。Finagleで利用されているServiceやFilterに関しての説明は、省略します。以下の内容では、各処理に着目した内容になっています。}}authServiceがPerlのAPIへリクエストを投げてくれる変数になります。リクエストの結果をflatMapで受け取れます。Perl側に送るリクエストは、セッションのCookieの情報と仮のホストのIPだけです。Perl側では、セッションのCookieを元にログインの時に付与されたセッションがあるか確認します。次に、Perl側からのレスポンスを元にScala側へリクエストを投げる処理になります。Perlのレスポンスの内容が取得できるのでレスポンスの内容から、idだけを取り出します。}"です)この時の取り出し方は、正規表現で抽出しています。抽出したidをヘッダーのX-Hoge-Idに設定します。Scala側のAPIにX-Hoge-Id付きのリクエストを付与しています。Finagleが返すレスポンスも、401で返す実装になります。ルーティングルーティングは、柔軟ではないので細かく調整する必要があります。個別にそれぞれ宣言してあげないといけません。scala-apiさて、実際にcurlで叩いてみましょう!!やる順番は以下の通りです。ログインした時のCookieを元にRpcServerへアクセスするはい、簡単ですね。動くやつが欲しかったので今回の実装になりました。Scalaへの移行Tweet関連記事2018-06-29Puppeteerを使ったスクレイピングどうも、大曲です。3月から子会社から本社に戻ってきました。この...2017-03-24angular2でelasticsearchの生ログ検索ページを作る初めまして。アドテクdivのswfzです。(1)ABOUT株式会社アドウェイズのエンジニアによるブログです!このブログでは、アドウェイズのエンジニアがざっくばらんに技術のことや日常生活について書いていきますので、みなさんよろしくお願いいたします。アドウェイズ中途採用情報スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。