AWS データベースブログの記事 「Amazon DynamoDBによる CQRSイベントストアの構築」 を勝手に読み解く
![リアクティブアーキテクチャ基礎講座](https://cdn-ak-scissors.b.st-hatena.com/image/square/1e045ca98696e4fe6fd6e79896ca0a5aadb74f9a/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F42e6097f117b4cfaa9d0aa9f125f14e0%2Fslide_0.jpg%3F15852964)
はじめに 前篇の「リアクティブマイクロサービス入門(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というリアクティブな
Project Reactorには,すべての基盤となる主要な型が2つあります。システムを流れる0からNの値を表すFlux<T>型と, 0から1の値を表現するMono<T>型です。Java Clientの内部では,単一要求,単一応答モデルに明確に対応するMonoをおもに使用しています。 Flux<Application> listApplications() {...} Flux<String> listApplicationNames() { return listApplications() .map(Application::getName); } void printApplicationName() { listApplicationNames() .subscribe(System.out::println); } この例では,listApplications()メソッドがネット
第5回Reactive System Meetup in 西新宿で登壇してきました*1。 reactive-shinjuku.connpass.com 発表資料 docs.google.com 一部表現を変えつつ、補足をして発表資料を公開します*2。 トークスクリプトもつけてありますので併せてどうぞ。 明日から開催のScala Matsuri 2018の弾みになれば幸いです。 泣く泣くカットしたトランザクションの話は続きを読むからどうぞ↓ 番外編)避けては通れないトランザクションの話 docs.google.com トランザクションと一口にいっても、以下のようなものがあります。 相手システムとの間(チャンネルの両端)で協調 受けたメッセージに対して、いくつかのステップの処理を実行 メッセージング基盤としてのメッセージを確かに送受信できるようにすることに対するトランザクションと、ビジネスロジ
こんにちは、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
🗃 {Programming/Java/org/springframework/web/reactive} 🏷 Reactor 🏷 Reactor Netty 🏷 Netty 🏷 Spring 5 🏷 Spring WebFlux 🏷 Java 🗓 Updated at 2017-06-06T18:11:23Z 🗓 Created at 2017-05-08T18:56:28Z 🌎 English Page この記事の内容はSpring 5.0.0.RC1時点でのものです。5.0.0.RELEASE時での動作保証はありません。またSNAPSHOTを使っているため、このままでは動作しないこともあります。 目次 はじめに プロジェクト作成 @Controllerモデル Hello World 無限Stream POSTの例 Router Functionsモデル He
@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ページを開く