Avantages et optimisation de l'infrastructure de Solana multi-régions

Avantages et optimisation de l'infrastructure de Solana multi-régions

Avantages et optimisation de l'infrastructure de Solana multi-régions
Nous avons souligné à quel point il est important de rester physiquement proche de l'actuel validateur de leader. Pourtant, Solana est distribué dans le monde entier et les leaders tournent constamment. Stationner tout dans une seule ville ne correspond pas à cette réalité, c'est pourquoi une approche multi-régions a du sens. Dans cet article, nous commençons à partir des époques et du planning des leaders, puis montrons comment décider si vous êtes "close" en termes pratiques et comment rendre cette décision opérationnelle.

Grasp époques et le planning des leaders

Solana avance le temps dans les créneaux. Environ 400 ms font une slot, et les slots sont regroupées en une époque. Une époque est un ensemble de slots (432 000 au total) et se sent comme environ deux jours. Vous pouvez suivre les progrès avec le RPC méthode getEpochInfo. Pour comprendre le rythme de traitement actuel du réseau et comment les slots rapides avancent, getRecentPerformanceSamples est utile. Au début de chaque époque, le planning du leader est fixé, et à tout moment exactement un leader produit le bloc. Ce roulement rapide est la raison pour laquelle vous avez besoin d'une approche qui suit la distance à mesure que les leaders changent.

Pourquoi la distance affecte les résultats

Dans l'histoire de l'infrastructure de négociation, être physiquement proche des principaux serveurs d'échange a toujours été un avantage. Les gens disent même que le prix du serveur change avec la longueur du câble. La lumière est rapide, mais pas infinie. Une distance plus courte signifie une réception plus rapide et un envoi plus rapide. Le même principe s'applique sur une blockchain, avec une différence: le point de production de blocs de Solana se déplace dans le monde entier. Si le leader se tient à New York en ce moment, être près de New York aide. Si le prochain leader est à Francfort, être près de Francfort aide. C'est pourquoi vous préparez plusieurs emplacements au lieu d'un seul hub.

La stratégie multisectorielle de base

Solana Mainnet Distribution Report
Données du réseau Solana: Validators Solutions
Gardez plusieurs petites places dans les principales villes de validation et les points d'échange, et utilisez automatiquement la place qui est la plus proche du leader actuel à un moment donné. Quand le poste de leader est à New York, recevoir et envoyer de New York. Quand le prochain leader tourne à Francfort, rendez-vous immédiatement à Francfort et transmettez-le sur le chemin le plus court. L'objectif n'est pas d'améliorer une moyenne, c'est d'éviter de manquer les opportunités qui continuent d'arriver.

Choisissez dédié, non partagé

Les réseaux partagés et les serveurs partagés sont sensibles aux autres utilisateurs et ont tendance à trembler aux heures de pointe. Des endpoints dédiés et des serveurs dédiés à travers les régions vous permettent de contourner la congestion et de passer des données comme une voie express privée. La réception en Stream est particulièrement sensible à la distance, donc le placer le plus près sur les ressources dédiées affecte ce que vous vous sentez jour après jour. La transmission se comporte aussi comme prévu seulement lorsqu'elle part d'une base voisine sur une route dédiée (vous êtes le seul utilisateur, donc vous êtes moins affecté par le throttling partagé et la file d'attente).

Comment mesurer la proximité

La proximité est une décision de données, pas un sentiment d'intestin. D'abord, trouvez où vous êtes dans l'époque actuelle. Utilisation getEpochInfo pour récupérer les données d'époque et lire les slots écoulées et les slots restantes. Utiliser ensuite getRecentPerformanceSamples pour estimer le temps de slot moyen récent. Les slots restantes multipliées par le temps moyen de slot vous donne un nombre rugueux de secondes jusqu'à l'interrupteur. Cela facilite la planification de la préparation et de l'emplacement.
À l'approche de l'interrupteur, récupérer les leaders pour votre gamme de cibles avec GetSlotLeaders et de réduire les candidats à court terme. Vous pouvez lister les nœuds de cluster avec getClusterNodes. Se référer à l'identité du leader avec les données du nœud, puis utiliser l'adresse publique de IP publique ou l'adresse gossip pour estimer les candidats géographiques.
Soyez prudent ici. La géolocalisation IP peut être erronée ou discontinue, donc une fois que vous avez une carte rugueuse, en fait ping à partir de chacune de vos bornes et mesurer le point de départ aller-retour directement. Le réseau se comporte comme un voyage en voiture: la distance compte, mais le choix de l'itinéraire change l'heure d'arrivée. Ping est un indicateur compact de la façon dont les routes sont aujourd'hui bondées. Ne vous fiez pas à une seule mesure. Exécutez plusieurs pings légers dans une fenêtre courte et décidez en fonction de la médiane pour réduire le bruit.
Ne jetez pas les résultats. Entreposez les mesures et les cartes par pied dans votre propre base de données et mettez à jour les deltas à chaque époque. Les opérations quotidiennes deviennent plus stables et vos décisions deviennent plus rapides.

Transformez-le en un système avec une base de données et des travailleurs

Si vous recalculez tout à partir de zéro, votre vitesse est dépensée en mesure elle-même. En pratique, rangez la cartographie entre les leaders et les régions, plus latence par pied de page, dans votre base de données. Mettez-le à jour avec un travailleur à chaque limite d'époque. Laissez l'application d'exécution lire cette base de données et de décider instantanément quel pied de page utiliser. Placez la réception près de la source du cours d'eau, et préparez la transmission dans la prochaine région leader. Le partage des rôles réduit la latence totale combinée.

Tuning micro-niveau et conception macro-niveau

Par pied, utilisez des processeurs haute vitesse, DDR5 la mémoire, et la dernière NVMe, et garder l'utilisation typique faible. Le réglage micro-niveau est la base qui rend la conception multi-régions payante. Au niveau macro, co-localisez des endpoints dédiés et des serveurs dans le même réseau pour maximiser la communication à distance zéro qui ne traverse pas Internet public. Pour les relais inter-foothold, vos propres chemins dédiés réduisent souvent le temps d'attente par rapport aux itinéraires génériques via public RPC.

Mise en œuvre et appui

Recevoir près du chef, envoyer de près du chef. Depuis le début de l'année, continuez à changer, disséminez votre empreinte dans plusieurs régions. Ce qu'il vous faut, c'est un petit mécanisme pour suivre le dernier planning et une façon raisonnable de placer les pieds. Nous ne fournissons pas de conseils commerciaux ou financiers. Nous pouvons, cependant, aider en tant que constructeurs avec des étapes concrètes pour raccourcir les voyages de données. Cela inclut la conception de votre base de données et de vos travailleurs, la mise en place de bases de données, la préparation de endpoints dédiés et la distribution entre les villes.
Pour les mises à jour et les questions, rejoignez le tableau de bord Web ERPC. Des essais gratuits et des environnements de test sont disponibles. Tableau de bord Web ERPC: https://dashboard.erpc.global/en
Merci comme toujours. Nous continuons à tester sur le terrain et à nous améliorer honnêtement, afin que votre projet réussisse.