[Publish-subscribe](http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) and [Reactor](http://en.wikipedia.org/wiki/Reactor_pattern) patterns looking very similar to me. How they are different?

In both patterns a message is getting passed to subscribers indirectly (listeners in reactor pattern).

I feel [observer pattern](http://en.wikipedia.org/wiki/Observer_pattern) is very similar to two other patterns too.

What are key differences between those patterns?