Nous travaillons sur une nouvelle architecture pour notre produit. Le produit sortant n'est pas exactement IoT - les appareils communiquent avec une seule boîte sur le site client et cette boîte communique avec nos serveurs.L'application communique directement avec la file d'attente des messages et la communication avec un proxy (service frontal)
Nous avons 2 options:
- La boîte envoyer un message directement à une file d'attente qui sera prise par le serveur de travailleurs et manipulé à elle est tour.
- La boîte enverra un message à un serveur frontal. Tout ce que fait le serveur est de mettre le message dans la file d'attente pour que le travailleur puisse le gérer.
Il existe des avantages et des inconvénients pour chaque méthode. Le numéro un pro pour communiquer directement avec la file d'attente est que nous n'avons pas besoin de dépenser de l'argent sur les machines pour maintenir les services frontaux. Le plus gros avantage de l'utilisation d'un serveur frontal est qu'il agit comme une couche d'abstraction par rapport à la technologie de file d'attente avec laquelle nous travaillons. Ainsi, si nous changeons la file, nous n'avons pas besoin de mettre à jour tous les clients. eux de continuer à travailler. Un autre avantage auquel nous pensons est qu'il nous permet de simuler des appels synchronios.
Bien sûr, il y a beaucoup de pour et de contre à chacun. Quelle est la manière suggérée de travailler? les meilleures pratiques? Sécurité?
Quel protocole de messagerie comptez-vous utiliser? Est-ce mqtt? La communication bidirectionnelle avec les appareils est-elle requise? –
@SergeiRodionov La plupart des chances ce sera AMQP. Certains services nécessiteront une communication bidirectionnelle. – developer82
Je n'ai pas beaucoup d'expérience avec AMQP dans ce contexte. Nous utilisons mosquitto/mqtt pour la communication bidirectionnelle avec les points d'extrémité. Peut-être que vous pourriez enchaîner deux serveurs mqtt pour accomplir ce dont vous avez besoin. –