Google+ To RSS As A Service

Preview:

DESCRIPTION

Présentation du projet AppEngine "Google+ To RSS As A Service", des choix, des technos utilisées, des problèmes rencontrés face aux quotas et les solutions utilisées, et des outils Google utilisés pour effectuer du monitoring et des statistiques. http://gplus-to-rss.appspot.com

Citation preview

Google+ To RSSAs A Service

Par Fabien Baligand

Fabien Baligand

Passionné de technos java et web

Java Blogger sur gplus.to/javafr

Créateur de la communauté G+ « Java FR » gplus.to/javafrcommunity

Tech Lead chez Informatique CDC

Naissance du projet

Tout a commencé un soir,

avec une idée geek…

C’est quoi l’idée ?

Exposer les posts publiques

d’un utilisateur / page / communauté G+

sous forme de flux RSS

Histoire d’une petite Success Story

Début en Décembre 2011

Un post Google+ visible et l’adhésion est lancée

Une vraie page d’accueil avec un bon référencement

Et aujourd’hui : Jusqu’à 200 000 requêtes par jour Prez au GDG

Les usages

Démo

gplus-to-rss.appspot.com

Pourquoi Google App Engine ?

Parce qu’on installe l’outillage avec le plugin Eclipse en un clic

Parce qu’on crée un projet GAE en un clic

Parce qu’on déploie le projet sur GAE en un clic

Pourquoi Google App Engine ?

Parce GAE permet l’hébergement d’application java en cloud PaaS

Pour tous ses services (MemCache, Mail, …)

Pour sa console d’administration

Pour ses quotas gratuits intéressants

Technos utilisées

Google APIs Client Library for Javahttps://code.google.com/p/google-api-java-client/https://developers.google.com/+/api/

Rome (Java Rss Generator)https://rometools.jira.com/wiki/display/ROME/Home

Google+ API

Fonctionnalités : Utilisateurs : profil, recherche, utilisateurs liés à une activité Activités : liste des activités d’un utilisateur, détail d’une

activité, recherche d’activités Commentaires : liste des commentaires pour une activité,

détail d’un commentaire Moments : liste, insertion, suppression

Authentification : API Key : permet d'accéder aux données publiques OAuth 2.0 : permet d'accéder aux données privées

requiert une autorisation de l'utilisateur cible

Problèmes rencontrés

Quota de la bande passante GAE : limitée à 1 Go

Quota de l’API Google+ :limitée à 10 000 requêtes / jour

Quota de la bande passante GAE

Contrainte : pas de solution payante pour un service rendu gratuitement

Solution 1 : rendre le code OpenSource pour que chacun ait son service gplus-to-rss

Efficacité limitée : 28 téléchargements

http://code.google.com/p/gplus-to-rss/

Répartition de la charge Par tranche horaire

gplus-to-rss

gplus-to-rss2

gplus-to-rss3

gplus-to-rss4

16h - 24h

8h - 16h

0h - 8h

Quota de l’API Google+

Solution 1 : demander une augmentation de quota à Google

Efficace Mais que faire en attendant ?

Protection contre la saturation du Quota Google+ API

gplus-to-rss

G+ API Key 1

G+ API Key 2

G+ API Key 3

G+ API Key 4

MemCacheService

MemCacheService

250 000

10 000

10 000

10 000

Stats & Monitoring

Google Analytics Pour le traffic utilisateur

Google API Console Reports Pour le niveau d’utilisation du quota « G+ API » Pour le traffic global du service

La console d’admin GAE Pour le monitoring de la charge en hits/seconde Pour le monitoring des quotas GAE Pour le top 20 des requêtes les plus demandées Pour consulter les logs en ligne

Récupération des logs GAE

L’outil appcfg du SDK GAE permet le téléchargement des access logs GAE

appcfg.cmd --num_days=2 request_logs mywebapp/ results.log

Conclusion

Google App Engine : mangez-en ! Plateforme PaaS simple à prendre en main

Bon nombre de services fournis

Console d’administration avancée

Quotas gratuits

Liens

Service en ligne : http://gplus-to-rss.appspot.com

Projet open-source : http://code.google.com/p/gplus-to-rss/

Google Group : http://groups.google.com/group/gplus-to-rss

Questions

Recommended