Les géants de l'Internet du secteur ont leurs propres cadres de services distribués Par exemple, Dubbo d'Alibaba, HSF, Tars de Tencent, JSF de JD.com et Motan de Sina sont déjà des solutions très matures dans l'industrie. dont les open source Dubbo et Motan ont été étudiés par un grand nombre de développeurs.
Dubbo est un framework de service hautes performances et excellent open source par Alibaba, permettant aux applications d'utiliser RPC hautes performances Réalisez les fonctions de sortie et d’entrée du service et pouvez être intégré de manière transparente au framework Spring. (Apprentissage recommandé : Tutoriel vidéo PHP)
Dubbo est un framework Java RPC open source léger et hautes performances. Il offre trois fonctionnalités principales : l'invocation de méthodes à distance orientées interface et la tolérance aux pannes intelligente. et l'équilibrage de charge, ainsi que l'enregistrement et la découverte automatiques des services.
Principaux composants de base
Remoting : cadre de communication réseau, qui implémente les mécanismes de messagerie de synchronisation sur asynchrone et de demande-réponse de logo.
RPC : Une abstraction des appels de procédure à distance qui prend en charge les fonctions d'équilibrage de charge, de reprise après sinistre et de clustering
Registre : le cadre d'annuaire de services est utilisé pour l'enregistrement des services ainsi que la publication et l'abonnement des événements de service
Fonctionnalités
Appels RPC hautes performances pour les proxys d'interface
Fournir des capacités d'appel à distance basées sur un proxy hautes performances. Le service est basé sur la granularité de l'interface, protégeant les développeurs des détails sous-jacents des appels à distance.
Équilibrage de charge intelligent
Plusieurs stratégies d'équilibrage de charge intégrées, détectent intelligemment l'état de santé des nœuds en aval, réduisent considérablement les retards d'appel et améliorent le débit du système.
Enregistrement et découverte automatiques des services
Prend en charge une variété de services de centre d'enregistrement et détecte les instances de service en ligne et hors ligne en temps réel.
Hautement évolutif
Suivent le principe de conception du micro-noyau + plug-in, toutes les fonctionnalités de base telles que le protocole, le transport et la sérialisation sont conçues comme des points d'extension et des implémentations intégrées et tierces. les implémentations des parties sont traitées de la même manière.
Planification du trafic à l'exécution
Stratégies de routage intégrées telles que des conditions et des scripts En configurant différentes règles de routage, vous pouvez facilement implémenter des fonctions telles que la publication en niveaux de gris et la priorité dans la même salle informatique. .
Gouvernance, exploitation et maintenance visuelles des services
Fournir des outils riches de gestion des services, d'exploitation et de maintenance : interroger les métadonnées du service, l'état de santé du service et les statistiques d'appels à tout moment, émettre des politiques de routage et ajuster les paramètres de configuration en temps réel.
Cadre TCC de transactions distribuées asynchrones hmily
Introduction au projet : cadre open source tcc de transactions distribuées hautes performances. Développé sur la base du langage Java (JDK1.8), il prend en charge dubbo, springcloud, motan et d'autres frameworks rpc pour les transactions distribuées.
Mythe du framework de transactions distribuées
Introduction au projet : myth est un framework open source qui utilise des files d'attente de messages pour résoudre des transactions distribuées. Il est développé sur la base du langage Java (JDK1. .8). Prend en charge Dubbo, Springcloud, Motan et d'autres frameworks RPC pour les transactions distribuées.
Cadre de transaction distribué LCN
Introduction au projet : La fonction principale du cadre de transaction distribué LCN est la coordination et le contrôle des transactions locales. Le cadre lui-même ne crée pas de transactions. , mais Coordonner et contrôler les affaires locales. Par conséquent, le framework présente une forte compatibilité avec d'autres frameworks tiers, prend en charge toutes les transactions de bases de données relationnelles, prend en charge plusieurs sources de données et prend en charge l'utilisation avec des frameworks de bases de données tiers (tels que sharding-jdbc).
Le framework LCN fournit principalement un support de transactions distribuées pour le framework de microservices. Il a encore optimisé le mécanisme de transaction sur le framework de microservices. Dans certains scénarios de charge, le mécanisme de transaction LCN a de meilleures performances que le mécanisme de transaction local. , après la version 4.0, le framework a développé un mécanisme de plug-in pour permettre à davantage de frameworks tiers de le prendre en charge.
Pour plus d'articles techniques liés à PHP, veuillez visiter la colonne Tutoriel graphique PHP pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!