Spring Kafkaによるメッセージ送受信とXML設定の実装ガイド

プロデューサー(生産者)の実装 XMLによるプロデューサー設定 Spring Kafkaにおいて、メッセージ送信の中心的な役割を担うのは KafkaTemplate クラスです。まずはXMLを用いたプロデューサー側の設定手順を確認します。以下の設定では、プロデューサーファクトリとテンプレートの構築に必要なパラメータを定義しています。 <?xml version="1.0" encoding="UTF-8"?> ...

10月18日 14:10 投稿

Excelデータインポートの分離設計:PhpSpreadsheetとメッセージキューの活用

大規模データのExcelインポート処理では、単一のリクエストでデータを直接DBに挿入するとシステムが重くなり、メンテナンス性が低下します。この問題を解決するため、インポート処理とビジネスロジックを分離する設計を採用します。 基本的なアプローチは以下の通りです: インポートAPIはアップロードされたExcelデータをメッセージキューに登録するのみ 別システムのコ ...

9月7日 23:24 投稿

Linux System V IPC メッセージキューの導入手順と API 解説

System V IPC の概要 Linux におけるプロセス間通信(IPC)の一種である System V IPC には、主に以下の 3 つの仕組みが含まれます。 メッセージキュー 共有メモリ セマフォ これらのリソースはカーネルによって管理され、キー(key)値によって一意に識別されます。特徴として、これらは永続性を持ちます。つまり、生成したプロセスが終了してもリソースは ...

8月28日 10:06 投稿

Redisによるパブリッシュ・サブスクライブとタスクキューの実装

Redisのパブリッシュ・サブスクライブ(pub/sub)は、メッセージ送信者(publisher)がチャンネルにメッセージを送信し、そのチャンネルを購読している受信者(subscriber)がリアルタイムでメッセージを受け取る通信モデルです。クライアントは複数のチャンネルを同時に購読可能です。 例えば、チャンネル redisChat を購読するには以下のようにします: redis 127.0.0. ...

8月28日 01:40 投稿

支払い・注文処理におけるリクエスト重複対策: 実践的な実装ガイド

はじめに ネットワーク不安定や前処理の重複クリックにより、1回の注文操作が複数リクエストとして処理されるケースが発生します。この場合、支払いや注文登録が重複し、不正な課金や重複注文が発生します。支払い、注文、還元など状態を変更する処理では、リクエストの冪等性が必須です。 本稿では「冪等性の定義」から、一意キー、トークン、状態遷移機械の実装方法を解 ...

7月20日 00:02 投稿