PHPアプリケーションでEvent Sourcing、CQRSを実践する場合の ミドルウェアとの組み合わせ、基本的な考え方 実例を交えた資料です
みなさんこんにちは、LINEのサーバーサイドエンジニアの長谷部です。普段は、最近でいうとLINE Login や LINE Customer Connect などの開発を担当しています。 2018年の年始に LINEのお年玉 というイベントを実施し、その開発を担当しました。今回の記事では、LINEのお年玉のアーキテクチャの紹介や、当日実際に発生した問題(サービス過負荷起因のkafka consumer遅延)などの振り返りについて書こうと思います。 LINEのお年玉とは お年玉イベント期間中に、お年玉とLINEスタンプをセットで「お年玉つきスタンプ」として販売しました。対象スタンプを購入したユーザーさんは、スタンプ購入数 x 10個 のお年玉が付与されます。 こういったメッセージが受信されます ユーザーは自分がもっているお年玉を友だちに直接送ったりグループに送信することができ、お年玉を受け取
Apache Foundation ビッグデータ系の処理向けにApache Kafkaを利用し始めました。 これまでもMessage Queueなどにzmq、Redis(PubSub)、ActiveMQ/RabbitMQなどを利用はしていましたが、 スケールのしやすさや、運用面や機能など今後フル活用できそうなためKafkaに、と。 HadoopやHbase、Cassandraといったミドルウェアを扱う機会も増えていているため、 親和性なども当然あります Kafkaどうなのよ 保存機能 Kafkaでは指定した期間、メッセージを保存する機能が用意されています。 これまでもその機能を持つMessage Queueはありましたが、 配信後にアプリケーション側から再配信させるといったことができます。 デフォルトで2週間ほど保持することができるので、 障害発生時に、再度処理を実行させることも、配信した
先日のPHPカンファレンスやPHPカンファレンス関西、buildersconでお話しした内容を元にして、 Laravel(PHP)を使って分析処理の簡単な実装や、 ミドルウェアを組み合わせた分散処理の実装を紹介します。 本ブログのサンプルアプリケーションは下記になりますので、 コードやミドルウェアなどを参照ください。 github.com Laravelとkafka Connect、Elasticsearchの組み合わせ Apache Kafkaを使ったスケーラブルなアプリケーションの入門編です。 レコード量が多い複雑なコンテンツのデータや検索要件、Like検索など、 RDBMSの不得意な分野などを対応することも多いかと思いますが、 RDBMSとElasticsearchを併用しKafkaで複雑さを吸収して、 アプリケーションをスケールさせるようにしてみましょう。 データベースのテーブル設
PHPカンファレンス2017 今年も参加してきました 2017/10/08 PHPカンファレンス2017で発表に使ったスライドです speakerdeck.com 巨大化してしまったアプリケーションを分解する場合や、 マイクロサービス化するにあたって、 こうしたメッセージミドルウェアを利用するのがアプリケーション開発の重要なポイントになっています。 コンポーネント化やDDDなどによる堅実なアプリケーションも大事な要素ではありますが、 最近では複数のデータベースを跨いでるアプリケーションや、 ユーザー向けのサービスで分析処理、 ビッグデータなどと連携するアプリケーションでKafkaを利用するケースが多くなっている傾向もあります。 PHPは多くのサービスを支えている言語です。 今後は堅実さと、より巨大なデータフローを支えるシーンが多くなると思います。 そんな場面に直面した時のヒントになればと思
At The New York Times we have a number of different systems that are used for producing content. We have several Content Management Systems, and we use third-party data and wire stories. Furthermore, given 161 years of journalism and 21 years of publishing content online, we have huge archives of content that still need to be available online, that need to be searchable, and that generally need to
2016年8月、トレタの増井雄一郎さん(「IT芸人」「フログラマー」で検索!)はPHPからScalaへの移行を表明していたChatWork CTOの山本正喜さんに「本当にScala化できるんですか?」と直球で聞きました(「PHPからScalaに乗り換えたチャットワークさん、その後どうですか?(前編)」)。そして2017年2月。「移行できたら、ぜひもう一回来てください」との誘いを受けて、再び増井さんがチャットワークにやってきました! 増井 Scala化、おめでとうございます! 山本 ありがとうございます。 増井 前回も聞きましたが、読んでない方もいるでしょうから、もう一度聞かせてください。Scalaを入れようと思った時期はいつなんでしょうか。 山本 そのあたりはBlog(「チャットワークがScalaを採用する理由、これからのチャレンジ。」)に書いたんですが、2年半前──合宿をしてScala化
Apache kafka 最近仕事でApache Kafkaの導入を進めている.Kafkaとは何か? どこで使われているのか? どのような理由で作られたのか? どのように動作するのか(特にメッセージの読み出しについて)? を簡単にまとめておく(メッセージングはまだまだ勉強中なのでおかしなところがあればツッコミをいただければ幸いです). バージョンは 0.8.2 を対象に書いている. Apache Kafkaとは? 2011年にLinkedInから公開されたオープンソースの分散メッセージングシステムである.Kafkaはウェブサービスなどから発せられる大容量のデータ(e.g., ログやイベント)を高スループット/低レイテンシに収集/配信することを目的に開発されている.公式のトップページに掲載されているセールスポイントは以下の4つ. Fast とにかく大量のメッセージを扱うことができる Scal
Apache Kafka More than 80% of all Fortune 100 companies trust, and use Kafka. Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications. Manufacturing 10 out of 10 Banks 7 out of 10 Insurance 10 out of 10 Telecom 8 out of 10 10/10 Largest insurance
さきほど帰国。parse.comのメモに引き続き、re:InventでのLogglyのセッションについてもまとめておく。 【追記 2013/11/20 9:20】スライドがupされていたので貼っておきます。 要約すると、 お客さんから大量に送られてくるログをリアルタイムに捌くためのシステム 最初の設計ではSolrCloudを利用していた 第二世代ではElasticsearchを利用。システム全体としてElasticな環境に。 基本環境はKafka + Stormな構成 セッションの情報は以下のとおり。 ARC303 - Unmeltable Infrastructure at Scale: Using Apache Kafka, Twitter Storm, and Elastic Search on AWS This is a technical architect's case stu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く