Re: Listen/Notify feedback

From: Rita <rmorgan466(at)gmail(dot)com>
To: Andrew Smith <laconical(at)gmail(dot)com>
Cc: Brian Dunavant <dunavant(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org >> PG-General Mailing List" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Listen/Notify feedback
Date: 2020-07-12 15:50:18
Message-ID: CAOF-Kfja-54bDmbcPehxSEwYN=CzZh_MDDDkPw0oDW88eoii6g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Good to know about potential performance problems. I don't plan to have
more than 5 hosts. Also, good to know about MQTT.

On Sun, Jul 12, 2020 at 8:52 AM Andrew Smith <laconical(at)gmail(dot)com> wrote:

> On Sun, 12 Jul 2020 at 21:39, Rita <rmorgan466(at)gmail(dot)com> wrote:
>
>> Thats good to know. Are there some standard patterns or best practices I
>> should follow when using messaging and with listen/notify?
>>
>> On Sat, Jul 11, 2020 at 1:44 PM Brian Dunavant <dunavant(at)gmail(dot)com>
>> wrote:
>>
>>> One aspect is if there is no one listening when a notify happens, the
>>> message is lost (e.g. no durability). If this is important to you, it can
>>> be addressed by writing the messages to a table as well when you NOTIFY,
>>> and the listener deletes messages after they are processed. On connection
>>> the listener can query the table to catch up on any missed messages, or
>>> messages that were mid-process during a crash. This is trickier with more
>>> than one listener. This isn't a whole lot more efficient than just using
>>> the table alone, but it saves you from having to poll so better response
>>> times.
>>>
>>> On Sat, Jul 11, 2020 at 8:58 AM Rita <rmorgan466(at)gmail(dot)com> wrote:
>>>
>>>> I am investigating various pub/sub tools such as ActiveMQ, Rabbit,
>>>> Redis, etc.I came across Postgresql Listen/Notify and was easily able to
>>>> write code to listen to messages. For the people who have been using this
>>>> for a while: what are its downsides, things to consider when writing good
>>>> code that use pub/sub, how do you deal with large messages, can I have
>>>> subscribers listen to replica nodes?
>>>>
>>>> Thanks
>>>> --
>>>> --- Get your facts first, then you can distort them as you please.--
>>>>
>>>
> A couple of years ago I started looking into listen/notify in PG10 and
> found that the throughput decreased quite a bit as I added more and more
> listeners. Given the number of apps I needed to have listening and the
> number of messages that I expected to be consuming, I ended up writing a
> single listener app which then republished the messages via MQTT. Not sure
> if the performance has improved in subsequent versions (or whether this
> will affect you at all) but it's something to keep in mind.
>

--
--- Get your facts first, then you can distort them as you please.--

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Michel Pelletier 2020-07-12 16:05:09 Re: Listen/Notify feedback
Previous Message Tom Lane 2020-07-12 14:16:52 Re: Listen/Notify feedback