Comment évolutive est d'Analyser?
J'ai vu à l'aide de Parse.com's de service pour mon backend, mais je suis sceptique à propos de son évolutivité.
Peut-il vraiment la poignée à plusieurs milliers d'utilisateurs simultanés? Si non, est leur tout bon moyen de transition loin de lui?
- J'aime vraiment cette question (comme je le suis de l'évaluation de l'Analyser pour l'instant), mais qui n'en est pas moins d'avis que c'est. Comme vous pouvez le voir à partir des réponses, si vous êtes un ingénieur lors de l'analyse, vous pensez que c'est la meilleure chose depuis le pain tranché; si vous n'êtes pas, alors tout ce que je vois sont des réponses négatives. C'est OK, mais cela montre simplement que le Débordement de Pile n'est pas le bon endroit pour cette question, parce que personne ne peut vraiment répondre objectivement.
- blog.parse.com/learn/...
- Beaucoup de ces réponses sont négatives envers les analyser. Mais ils sont un peu vieux. Maintenant qu'il est en 2015, je me demande si quelqu'un a un commentaire à propos de l'utiliser.
- à compter de 2016 analyser est en cours d'arrêt blog.parse.com/announcements/moving-on
- Haha. Maintenant que c'est 2016 Analyser est certainement pas bon!
Vous devez vous connecter pour publier un commentaire.
Je sais que la question peut-être vieux, mais je voulais donner mon 2 cents pour les autres là-bas qui peut être vu à analyser....
En vertu de la plus simple des scénarios, l'analyse peut très bien fonctionner. Dès que vous avez besoin de monter jusqu'à des requêtes plus complexes, j'en ai personnellement rien trouvé mais les maux de tête.
Requêtes sont limités à 1000 enregistrements. D'abord, vous pouvez penser que ce n'est pas un problème, jusqu'à ce que vous commencer à traiter avec des sous-requêtes, et de réaliser bizarre de données est retourné en raison de la sous-requête des coupes enregistrements sans avertissement ou d'erreur. (Pour info, la valeur par défaut est de 100 enregistrements, sauf si vous spécifiez une limite à 1000, de sorte que le problème est encore pire si vous ne payez pas attention).
Pour une raison étrange, il y a une limite au nombre de fois que vous pouvez émettre un nombre de requêtes dans un min. (et cette limite semble être vraiment faible). Être prêt à essayer et l'accélération de votre code afin de ne pas atteindre cette limite, sinon des erreurs sont jetés.
Tâches en arrière-plan ne pas fonctionner de manière fiable. J'ai eu un job d'arrière-plan définie pour exécuter toutes les 5 min, et il y a des fois il faut+ de 20 min avant que le travail se déclenche.
Beaucoup de délais d'attente. C'est celui qui me donne le plus de brûlures d'estomac.
A. Si vous avez un nuage de fonction qui prend un certain temps, vous avez environ 6 ou 7 secondes pour obtenir qu'il fait ou ce qu'il va vous couper off.
B. j'ai le sentiment qu'il y a une instabilité générale avec le système. Régulièrement, je rencontre des problèmes qui semble durer environ une heure où les délais d'attente se produire plus fréquemment (et relativement simple des fonctions qui doivent retourner immédiatement).
Je suis entièrement d'regretter ma décision d'utiliser l'analyse, et je fais tout ce que je peux pour garder l'application en vie assez longtemps pour nous d'obtenir du financement, de sorte que nous pouvons déplacer la plate-forme. Si quelqu'un a des solutions mieux adaptées à l'analyse, je suis tout oreilles.
[Edit: après trois années extraordinaires avec l'équipe, j'ai décidé d'avancer et je ne suis plus une analyse ou Facebook employé. L'équipe est entre de très bonnes mains et a fait des choses extraordinaires. L'ensemble du backend a été réécrit afin d'augmenter les performances et la fiabilité de façon spectaculaire. La feuille de route est incroyable, et je m'attends à de grandes choses à venir de l'équipe. Au moment de mon départ, Analyser alimenté à plus de 600 000 applications et servi un ahurissant le nombre de demandes chaque jour. Ont chacun Analyser pousser à être envoyé à une personne unique, ils pourraient former le quatrième plus grand pays dans une journée. Pour l'avenir de l'aide à l'analyse, veuillez poster des questions ici avec le parse.com tag ou par la poste à l'analyse des développeurs Google groupe.]
Divulgation complète: je suis un Parse ingénieur.
Analyser accueille déjà des milliers de apps, a fortiori pour les utilisateurs. Lorsque nous sommes sortis de la bêta à la fin de mars, nous annoncé plus de 10 000 applications en cours d'exécution sur l'Analyser avec 40% d'un mois à un taux de croissance. Analyser est animé par une équipe de classe mondiale, de nombreux avec des années d'expérience dans le big data et le volume élevé de trafic.
Nous nous réjouissons de votre trafic avec les bras ouverts, vous serez en compagnie de grandes équipes comme La bande de la Journée et Hipmunk. Nous avons tellement confiance en nos services que nous avons construit notre Un Cliquez Sur Exporter système afin que les gens comme vous pouvez essayer de l'Analyser sans risque. Si vous vous sentez Analyser ne pas répondre à vos attentes en matière de rendement, nous serons heureux de vous envoyer au large avec l'ensemble de vos données intactes.
Nous avons choisi d'Analyser comme le back-end pour notre application.
Conclusion: NE PAS.
De la stabilité est une catastrophe, la performance est une catastrophe, et est donc le support (probablement parce qu'ils ne peuvent pas vraiment vous aider, parce que tous les sujets sont non reproductibles).
En marche, même le plus simple des fonctions peut conduire à des délais d'attente aléatoire à l'intérieur de Parse (je parle de simple PFUser de connexion des appels par exemple):
Nous rencontrons des délais d'attente sur une base quotidienne, et c'est avec une application que nous testons avec 10 utilisateurs max!
Ceci est typique de celle que nous revenir tout le temps, tout à fait arbitraire moments et impossible à reproduire. Appel d'un Nuage de Code de fonction qui n'quelques questions et quelques inserts:
Essayer la même chose 10 minutes plus tard et il s'exécute en moins d'une seconde. Essayez à nouveau 20 minutes plus tard et ça prend 30 secondes à s'exécuter.
Car il n'est pas transactionality c'est vraiment beaucoup de plaisir lors de l'entreposage, par exemple de 3 objets en 1 Cloud Code de la fonction, où les Analyser décide de renflouer de la fonction aléatoire après disons que le fait d'avoir sauvé 2 des 3 objets. Une bonne façon de garder votre base de données cohérente.
Le "meilleur" ceux nous avons eu où ces. Rappelez-vous, c'est le réel de données de retour d'un Nuage de Code de la fonction:
Les trucs que je décris ici n'est pas quelque chose qui arrive une fois dans une lune bleue dans notre projet. Sauf pour les erreurs 500 (que j'ai rencontrés deux fois en un mois), tous les autres sont considérés sur une base quotidienne.
Donc oui, c'est très facile à prendre en main, mais vous devez prendre en compte le fait que vous travaillez sur une plate-forme instable, alors assurez-vous que vous avez obtenu vos tentatives et l'intervalle exponentielle des systèmes en place et en cours d'exécution, car vous en aurez besoin!
Ce qui m'inquiète le plus, c'est que je n'ai aucune idée de ce qui allait se passer une fois de 20.000 personnes pour commencer à utiliser mon application sur ce backend.
edit:
Droit maintenant, j'ai ce lors d'une PFUser de connexion:
N'est-il pas grand?
Si vous êtes en train de rédiger un petit/simple application (ou un jetable prototype) avec peu ou pas de logique sur le backend alors allez-y, mais pour quelque chose de plus grand/évolutive, il est préférable de l'éviter, je peux dire qu'à partir de l'expérience de première main. Il semble tout bon avec leur gestion de l'utilisateur, les notifications push, résumé de stockage et de ce pas, mais à la fin il n'en vaut pas la peine. À savoir, j'ai été le développement de l'interface pour une application sur l'analyse, les clients ont été tellement en elle parce qu'il sonnait bien et prometteur (marketing fort, je suppose), d'être acheté par Facebook et ce n'est pas, mais au bout de quelques semaines de production principaux problèmes et les limitations de la plate-forme a commencé découlant, ce qui devrait être une simple application s'est avéré être un cauchemar à développer et à l'échelle.
Le résultat/conclusion du projet:
- a brisé la fenêtre de temps est relativement simple d'application - il doit avoir duré 2-3 mois, ça a duré presque un an et n'est toujours pas stable, fiable, si l'on utilise une pile personnalisé il avait fait à l'intérieur de la fenêtre de temps pour vous entraîner, j'ai fait un semblable projet de démonstration dans 5 à 10 jours avec un noeud personnalisé pile
- perdu le client en confiance, ils sont en train de refaire l'application avec une autre équipe qui va utiliser une pile personnalisé
- perdu des charges de trésorerie pour briser la fenêtre de temps et d'essayer de le faire fonctionner
- n'a donc beaucoup d'heures supplémentaires à cause de ça que ça a commencé à réfléchir sur ma santé
- ne jamais utiliser certains de plate-forme/solution qui promet de tout ça, toujours avec un custom/essayé pile
D'abord les problèmes de stabilité et constante à défaut de la plate-forme comme serveur de temps d'arrêt et les erreurs aléatoires, mais ils ont tous cette triés (qui était au début-milieu de l'année 2014), mais les problèmes demeurent:
Un exemple au hasard: vous souhaitez récupérer un élément aléatoire dans leur base de données, votre application fait appel à un travail que vous le fourniront (1 appel de l'API), le travail interroge la base de données, mais vous devez faire 2 appels, d'abord pour obtenir le nombre de points (1 appel de l'API) et puis une deuxième pour obtenir un élément de hasard (1 appel de l'API), c'est 3 appels de l'API pour que la fonctionnalité, et avec 60 demandes par seconde, 20 les utilisateurs peuvent faire appel à un moment donné avant d'atteindre la limite de requête et de la plate-forme va détraquer, après vous d'inclure d'autres utilisateurs parcourant application des écrans et d'autres choses, vous voyez où cela mène...
Si c'était tout bon de ne pas Facebook qui l'a acheté chaque mention de l'utiliser même pour certains de leurs applications? Je vous suggère de 3 choses:
- premier - ne l'écoutez pas à l'analyse les gars, c'est sa plate-forme de sorte qu'il a pour le promouvoir, écouter les personnes qui ont été l'utiliser pour faire quelque chose en l'utilisant
- deuxième - si vous avez besoin d'un grave et évolutive, la plate-forme et ne veux pas aller entièrement personnalisé, rendez-vous pour Amazon Cloud services ou quelque chose de semblable qui est testé et fiable
le tiers - rester à l'écart de la plate-forme si vous avez n'importe quel serveur du côté de l'expérience, si vous n'avez pas d'aller louer un dev backend pour le projet, il sera moins cher et vous aurez une solution de travail à la fin
J'ai passé la journée à chercher dans parse.com et voici mon avis basé sur ce que j'ai trouvé (s'il vous Plaît garder à l'esprit que je n'ai que très brève expérience de développement avec le SDK encore)..
Parse.com clairement a quelques très jolis points positifs c'est pourquoi je me suis retrouvé à la recherche en elle, mais, pour la clarté du débat, je vais me concentrer sur les critiques comme le grand positifs sont tous répertoriés sur leur site web. (Bien fait parse.com pour tenter de résoudre un grand problème!)...
Parse.com est un concept très nouveau, et très différentes, même à ses plus proches rivaux. Donc, sans preuves concrètes sur la façon stable et modulable (et tout le reste) c'est le cas, il est très difficile pour un développeur sur un projet de s'engager à ce qu'il y a trop en jeu.
J'ai couru tests pour ma propre réponse à de semblables question et il peut être TRÈS, TRÈS RAPIDE. Cependant , les résultats que vous obtenez peut dépendre de vos détails de mise en œuvre...
Test par rapport Android SDK pour Android à l'aide de HTTP natif de la pile de prise d'Analyser et de REPOS, les appels...
Détails Du Test:
Environnement de Test - plus récente version d'Android sur 10 mois ancien téléphone plus rapide que la connexion WIFI.
( upload 63 photos où avg filesize=80K )
test 1 à l'aide du kit SDK d'android RÉSULTAT=Ralentir les performances
test 2 utiliser le RESTE des appels sur android RÉSULTAT=VERT RAPIDE
--EDIT-- qu'il intéresse ici....
Concernant http thruput , l'analyse du SDK android) et performance, il se peut que parse.com n'a pas une optimisation de la performance sur la façon dont ils mettent en œuvre android asyncTask() dans l'analyse.android SDK? Comment le travail requis 8 min. sur analyser.sdk peut être fait en 3 secondes sur une optimisation du RESTE , BRICOLAGE cadre ( voir les liens pour plus de détails sur les implémentations), je ne sais vraiment pas. Si parser n'ont pas fixé leur SDK mise en œuvre depuis ces tests de comparaison couru, alors vous avez probablement ne veux pas leur SDK par défaut asnycTask trucs à faire quelque chose d'approchant une réelle charge de travail sur le réseau.
La grande attraction sur Parse (et similaires SaaS), c'est que vous pouvez économiser des dizaines de milliers sur les coûts de développement. Étant donné que le back-end est souvent l'aspect le plus coûteux d'une application Web; la tête de l'ache est soudainement pouf.
Le problème avec l'Analyser et la plupart (tous) SaaS, c'est que la région, de la puissance, mémoire, bande passante, l'évolutivité, les seuils, les alertes et les différentes actions sont hors de votre contrôle.
Même avec Shopify. C'est un grand Saas, avec un contrôle complet des produits, des commandes, des stocks et de l'esthétique-mais aucun contrôle sur la machine. Donc, aujourd'hui, le SaaS n'est pas un diable de beaucoup de choses différentes que godaddy. Ils sont toujours en rajouter ou max-leurs machines pour faire de l'argent, et vous êtes coincé si vous vous souciez vraiment de cul-coups de la performance. Vous ne pouvez même pas acheter ce niveau de service.
Je voudrais quelque chose d'AU MOINS aussi puissant et complet que la console AWS. La plupart des techniciens connaissent et acceptent que la société Heroku et Analyser sont tous deux hébergés sur AWS. Qui s'en soucie. Donc plus de frais pour le service supplémentaire, mais ne pas interdire l'accès à ceux de très faible niveau des outils d'un Site et l'Application et l'expérience de l'utilisateur zing. Astuce pour ceux Analyser employés.
À toute vitesse, en réponse à la question:
L'analyse de l'API est simple JSON. De sorte que vous pouvez pomper les données dans le même format JSON qu'un Parse application attend.
Vous pourriez même être en mesure d'utiliser leur PFObject (iOS). À un certain point, tout ce qui haut niveau de l'API va à une commune de requête/réponse HTTP. La bonne chose à propos RESTE de la généralité de moyens communs de l'étagère, des choses comme http, url, les chaînes, et utf. Pas funky Orbe ici.
Analyser est très bien de commencer avec notamment des fonctions d'assistance/les fonctionnalités de gestion des utilisateurs. Mais j'ai commencé à rencontrer des problèmes ..
Des temps d'exécution/de ping fois, 1000 objet limite, y COMPRIS les sous-requêtes, pas de centres de données en europe (autant que je sache)
Il aurait été une divine plate-forme, si elles pouvaient les performances de tri et de problèmes de stabilité. J'ai un peu de regret de développement avec elle, mais j'ai mis plus de 5 000 lignes de code, donc je vais rester avec elle.
Peut-être qu'ils devraient séparer de leur DEV apps et PROD applications des environnements, et ne permettent PROD applications après un contrôle, ou de créer un environnement différent avec seulement les clients qui payent?
Nous sommes en 2014, de 20 $/mois les serveurs peuvent gérer unoptimized sites web(60 pas en cache les requêtes db sur la page d'accueil) avec 1 million de visites/mois, cela ne devrait pas être difficile de venir sur le Parse!
C'est ok pour le prototypage des applications, en particulier si le iOS/Android développeur ne sait pas comment construire un DB/API backend lui-même.
Il n'est pas ok du tout, quand il s'agit de développer une application avec une logique qui exige des requêtes plus complexes que:
Requêtes associées et des jointures internes n'existent pas sur Analyser. Et bonne chance pour la mise à jour/suppression de 320 000 dossiers si vous avez besoin (c'est le numéro que je travaille avec maintenant).
La seule chose qui est vraiment utile est de gérer les Utilisateurs par le biais du SDK. Si je pouvais trouver un bon docs ou même tutoriel comment gérer/créer des utilisateurs via iOS/Android apps à l'aide de Django et DRF/Tastypie, je suis instantanément la conversion de tout ce qui est développée dans notre société à les utiliser.