AWS データベースブログの記事 「Amazon DynamoDBによる CQRSイベントストアの構築」 を勝手に読み解く
はじめに 前篇の「リアクティブマイクロサービス入門(1/2)- 概念編」では、なぜリアクティブマイクロサービスが必要なのか、リアクティブマイクロサービスとは何なのかをご紹介しました。 後編となるこの記事では、リアクティブマイクロサービスの実装するために使えるテクニック・技術を、目的別にご紹介します。 もちろん、これらすべてを盛り込まなければリアクティブマイクロサービスを実現できないわけではありませんが、引き出しとして知っておけばより柔軟な設計ができるのではないかと思います。 目的別にまとめているので、適宜リファレンス的にご参照いただければと思います。 モジュール化 リアクティブマイクロサービスに求められる性質をバランス良く満たすためには、ビジネス上の関心事を分割することが重要です。 トレードオフで同時に実現することが難しい要件でも、分割することでそれぞれの関心時に最適化した手段を選択して実
はじめに リアクティブシステムを構築するためのライブラリ「Akka」を開発する Lightbend社 から、リアクティブシステムやマイクロサービスについて学習できる有償のオンライントレーニング「Lightbend Academy」を提供されていますが、2020年夏の間(※)は無償で受講できるようになっています。 ※2020/07/14現在。当初は無償期間が6月末まででしたが、7月末 -> 夏いっぱいと期間が延長されています。 ※「Lightbend Academy」の受講については、こちらのスライド「Lightbend Academyオンライントレーニングを受けてみた」もご参照ください。 この記事では「Lightbend Academy」を受講して学んだ、リアクティブな性質を備えたマイクロサービスを設計・開発するために知っておきたい知識や理論 を、私なりに整理・再編してご紹介したいと思いま
LINE株式会社 長谷部 良輔 SPRING FEST ’19での発表資料です。 https://springfest2019.springframework.jp/
こんにちは!こんばんは!Javaエンジニアの しんどー です。腹筋ローラーで今日も腹が痛い! さて、AcroquestではLTxRTという社内勉強会があり、最近勉強した技術やプロジェクトのフィードバックなどが頻繁に行われています。 私も先日、「Spring WebFluxで学ぶReactive Application」というタイトルで発表しました。 "リアクティブ"とだけ書くと文脈によってイメージが全然違ってしまうのですが、今回はサーバサイドでのリアクティブについて解説しました。 JavaでリアクティブというとRxJavaを思い浮かべる方は多いと思います。国内ではLINEさんがRxJavaをサーバサイドで利用して、APIを非同期化する取り組みを行っていますね。 そして2017年10月にリリースされたSpring Framework 5.0で、Spring WebFluxというリアクティブな
リアクティブプログラミングそのものは記事の範囲を大きく越えるような広大なテーマですが,ここでは私たちの目的のために必要な範囲として,“従来の命令型のプログラミングスタイルよりも流暢(fluent)な方法でイベント駆動システムを定義する方法”と定義しておきたいと思います。目標は,従来の命令型によるロジックを,より理解と論証が容易な,非同期かつ非ブロック型の関数スタイルに移行することです。 さまざまなビヘイビア(behavior、スレッドやNIOコールバックなど)のために設計された命令型APIの多くは,適切かつ信頼性の高い使いやすさという観点を欠いています。そのため、この種のAPIを使用するケースの大部分では,依然としてアプリケーションコード側での明示的な管理が必要になります。リアクティブフレームワークでは,これらの問題を舞台裏で処理することが可能になるため,アプリケーション機能に重点を置いた
第5回Reactive System Meetup in 西新宿で登壇してきました*1。 reactive-shinjuku.connpass.com 発表資料 docs.google.com 一部表現を変えつつ、補足をして発表資料を公開します*2。 トークスクリプトもつけてありますので併せてどうぞ。 明日から開催のScala Matsuri 2018の弾みになれば幸いです。 泣く泣くカットしたトランザクションの話は続きを読むからどうぞ↓ 番外編)避けては通れないトランザクションの話 docs.google.com トランザクションと一口にいっても、以下のようなものがあります。 相手システムとの間(チャンネルの両端)で協調 受けたメッセージに対して、いくつかのステップの処理を実行 メッセージング基盤としてのメッセージを確かに送受信できるようにすることに対するトランザクションと、ビジネスロジ
5. なぜReactiveが必要なのか • さまざまな非同期イベントを扱う機会が増えている。 − GUI − マイクロサービス − ビッグデータ解析 − ノンブロッキングI/O • 複雑になりがちな非同期処理をきれいに書きたい。 → Reactive Programming • 性能がよく、柔軟性・耐障害性の高いシステムをつくりたい。 → Reactive Systems 6. Promise/Futureではダメなのか? • ReactiveもPromise/Futureも非同期処理を扱うための手段。 • Promise/Futureが主に1回きりのイベントを取り扱うのに対して、 Reactiveではイベントストリームを扱う。 • Promise/Futureの強み − 言語によっては async/await が利用できる。 − 標準で利用できるケースが多い。 • Reactiveの強み
こんにちは、LINEメッセンジャーのサーバーサイド開発チームに所属してスタンプや着せかえに関連する開発を担当している川田(@hktechno)です。この記事はLINE Advent Calendar 2017の2日目の記事です。 私が所属しているチームは、数年前からマイクロサービス化されたサービスのRPC(Remote Procedure Call)やDBアクセスを非同期化し、レイテンシの削減やサーバーリソースの省力化に勤しんできました。最近は、LINE内部で開発しているRPCサーバーArmeriaとRxJava 2を使って、“Javaにしては”なかなかイケている内部構成になってきました。この記事では、そんな私達のチームで開発しているスタンプ・着せかえ関連サーバーの裏側についてご紹介したいと思います。 LINE Shopにおけるマイクロサービス 一言でLINEといっても、LINEと名前のつ
The document provides an introduction and overview of Spring WebFlux, a non-blocking web framework for Spring. It discusses the differences between blocking and non-blocking web stacks, and how Spring WebFlux uses reactive streams and programming. Code examples are provided showing how to build reactive controllers and streams in Spring WebFlux that support backpressure.Read less
The document discusses reactive programming and the Spring Framework 5.0 release. It provides an overview of reactive programming concepts like asynchronous non-blocking applications. It also discusses Reactive Streams and libraries like Reactor. Finally, it covers new features in Spring Framework 5.0 like performance improvements, support for JDK 9, and the introduction of reactive APIs in Spring
@Scala将軍達の後の祭り2017
Chatwork、LINE、Netflixが進めるリアクティブシステムとは? メリットは? 実現するためのライブラリは?:リアクティブプログラミング超入門(1)(1/2 ページ) 本連載では、リアクティブプログラミング(RP)の概要や、それに関連する技術、RPでアプリを作成するための手法について解説します。初回は、「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します。 「リアクティブ」という新たなプログラミングのパラダイム 最近、「リアクティブプログラミング」という言葉をよく見るようになりました。この「リアクティブプログラミング」(以下、RP)とは、“時間とともに変化していくデータ”(ストリーム)同士の関連性と操作を、“宣言”的に記述するプログラミングの手法です。 RPではデータを「ストリーム」として捉え、その“流れてくるデータ”
大切なのはアーキテクチャ James Roper @jroper Agenda Identify pitfalls of monolith conversions Architect reactive solutions See Lagom in action Live coding! モノリスを置き換える際の落とし穴を明らかにし、リアクティブなソリューションを設計する Lagom を使ってライブコーディング! Lagom Auction ebay clone Was a monolith, converted to microservices Will one day overtake ebay! Lagom でモノリシックなオークションサイトをマイクロサービスに変換 めざせ eBay! モノリスから商品サービスと入札サービスを切り出してゲートウェイを置く What if somethi
Scala Advent Calendar 2016の15日目です。 バッチアプリケーションを作ることになったので、Akka Streamsを使おうかと考えました。 Slickだと標準でstreamメソッドが用意されているため、Akka Streamsとも連携させやすいですが、ScalikeJDBCが学習コストが低くて素敵だったので、コレをAkka Streamsに組み込めないか試したエントリです。 DBはMySQLを使う前提ですので、ご注意ください。 (一部Postgresも引き合いにしてますが、OracleやSQL Server等は調べてません。) TL;DR github.com 2017/05/20 追記 ScalikeJDBC 3.0に公式に取り込まれました。 github.com JDBCブロッキング問題 現在、JDBCは同期インタフェースしか提供されていません。 asyncな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く