本記事は「珠玉のアドベントカレンダー記事をリバイバル公開します」企画のために、以前Qiitaに投稿した記事を改訂したものです。 はじめにPub/Sub型のメッセージングアーキテクチャを採用するにあたっては、kafkaなどのブローカーミドルウェアや、Amazon SNS、Google Cloud Pub/Subなどのマネージドサービスを利用するケースが多いかと思います。ところでPostgreSQLでも実はPub/Subができます。 すでに業務でPostgreSQLを使っていれば、新たにPub/Subブローカーを構築しなくても、疎結合なシステム間通信を簡易的に実現できます。 本記事ではこの機能の紹介と、Pub/SubクライアントをJavaで実装する場合の選択肢、考慮点を示しています。 ※実行環境はPostgreSQL 16.2とJava 21です ※データベースの文字コードはUTF-8としてい
![PostgreSQLのPub/Sub機能とJavaのクライアント実装 | フューチャー技術ブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/f1dba5a14239a69391c4b30553eddb7137d46d71/height=288;version=1;width=512/https%3A%2F%2Ffuture-architect.github.io%2Fimages%2F20240628a%2F68747470733a2f2.png)