Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement a light pub-sub service on App Engine?

During his Google I/O 2009 "Offline processing on App Engine: A look ahead" presentation (video, slides), Brett Slatkin presents the Task Queue service.

He states that

Pub-sub systems maximize transactions, decoupling:

  • Large numbers of small transactions per second
  • One-to-many fan-out with changing receivers
  • Guaranteed ordering, filtering, two-phase commit

And specifically emphasises

Our new API implements queueing, not pub-sub


I'm interested in only a subset of those functionalities:

  • One-to-many fan-out with changing selected/fixed internal receiver handlers
  • Guaranteed ordering, filtering, two-phase commit

Targeted goal would be to ease publishing of notifications/messages between different modules of the same web application. Sample usage scenarios cases would be:

  • Making the payment module aware of receivals of bills.
  • Making a user able to track changes of a particular domain object he has decided to follow/star.

What would be the correct way to implement these on top of the Task Queue service ?

like image 900
nulltoken Avatar asked Nov 16 '10 09:11

nulltoken


People also ask

What is the difference between pub Sub and Pub sub Lite?

In terms of message replication, Pub/Sub guarantees synchronous replication. Pub/Sub Lite is a cost-effective solution that trades off operational workload, availability, and features for cost efficiency. Pub/Sub Lite requires you to manually reserve and manage resource capacity.

How do I enable Pub/Sub API?

Create a Pub/Sub-enabled Google Cloud projectCreate a new project in the Cloud Platform Console. In the left pane of the console, select Pub/Sub and then select Enable API.


1 Answers

Consider using Cloud Pub/Sub. It's the externalized version of the internal Pub/Sub technology, which has been used extensively within google for about 7 years and proven to be scalable and robust. As of today it's still beta, but we're going to GA soon (in few months).

like image 76
Takashi Matsuo Avatar answered Sep 20 '22 05:09

Takashi Matsuo