2017-08-26 4 views
0

Nous avons une application iOS. Nous utilisons les services HTTP pour obtenir et publier des données JSON. Les notifications push sont également activées. Si les services d'arrière-plan sont en panne, est-il possible d'informer l'utilisateur que les services sont en panne?comment être averti quand les services de HTTP sont hors service?

+0

Exemple: Utilisez Amazon Route 53 et un contrôle de santé. Lorsque votre API tombe en panne, redirigez le DNS vers un serveur de sauvegarde dont vous disposez et qui peut émettre des réponses d'API "service en panne". – tadman

Répondre

0

Avez-vous essayé d'avoir un délai? Si l'application ne peut pas se connecter au serveur pendant un certain temps, non seulement la tentative de connexion se termine presque toujours, mais elle déclenche également une exception de délai d'attente sur la plupart des langages de programmation que j'utilise. Essayez de vérifier les spécifications de timeout sur l'objet que vous utilisez pour communiquer via http, vous êtes probablement capable de les implémenter. si vous ne pouvez pas vous connecter au serveur afin de recevoir le message http dites simplement à l'utilisateur "serveur indisponible" ou quelque chose comme ça.

idéalement, si vous connaissez le serveur principal sera mort pendant un certain temps (pour fins de mise à jour, etc.) et vous pouvez toujours utiliser le serveur http, vous pouvez envoyer un http containning texte disant quelque chose comme « serveur indisponible » , ou vous pouvez simplement envoyer un message vide, puis détecter sur le front end (c'est si vous n'envoyez jamais de messages vides, de toute façon Je pense que cela va vous donner des problèmes. "serveur indisponible" devrait être mieux.).

Si le serveur http sera périodiquement indisponible, essayez quelque chose comme l'implémentation des notifications de mise à jour . Lorsque vous lancez l'application, l'application vous demande quand une mise à jour du serveur se produit. et puis vous l'enregistrez, et quand il redémarre, il vérifie si une telle mise à jour a lieu ou non pour le moment. En plus de cela, si vous voulez vraiment utiliser les notifications push et être périodiquement indisponible, avant que le serveur tombe en panne - envoyer une notification. vraiment vous juste besoin d'utiliser votre imagination ici.

mais ce que vous ne pouvez pas faire - est d'envoyer une notification lorsque votre serveur est en panne, si vous ne savez pas que ça va tomber. principalement parce que vous n'avez aucun moyen de notifier le client (parce que le serveur que vous utilisez pour la communication est en panne). cependant - comme je l'ai indiqué ci-dessus - ce que vous pouvez faire est de demander au client de vérifier quand le serveur est en panne (s'il ne peut pas se connecter, etc.). Si vous avez un serveur de sauvegarde, vous pouvez envoyer une notification lorsque le serveur tombe en panne. si le serveur et le serveur de sauvegarde tombent en panne, si seul le serveur de sauvegarde a besoin de vous en informer, le client ne saura probablement pas qu'il est en panne. vous pouvez utiliser une société externe pour être votre serveur de sauvegarde. Donc, si l'électricité est en panne (ou quelque chose comme ça), cela n'affectera pas votre système de notification.

espérons que ça aide.