Maison  >  Article  >  développement back-end  >  Le langage Go a-t-il un framework de microservices ?

Le langage Go a-t-il un framework de microservices ?

青灯夜游
青灯夜游original
2022-11-30 19:29:268539parcourir

Le langage go dispose d'un framework de microservices, tel que : 1. Istio, qui est un framework open source de gestion, de protection et de surveillance des microservices ; 2. Go-kit, qui est un kit de développement distribué du langage Go pour développer des microservices ; 3. Go-zero est un framework web et rpc qui intègre diverses pratiques d'ingénierie ; 4. Go-micro est un écosystème de microservices axé sur la simplification du développement de systèmes distribués ; . Dubbo-allez et ainsi de suite.

Le langage Go a-t-il un framework de microservices ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.

Le framework de microservices divise le développement d'une application en développement commercial indépendant de nombreux petits services. Ces services sont généralement construits autour de règles métier et peuvent être développés dans différents langages et utiliser différents stockages de données, permettant finalement à chaque service de fonctionner sur son propre. propre horaire. Et ils utilisent des mécanismes de communication légers pour communiquer entre eux.

Alors existe-t-il un framework de microservices basé sur le langage go ? La réponse est : Oui ! Partageons quelques frameworks de microservices développés en langage Go.

1.Istio(31,7K)

Introduction au projet : Istio est un framework open source de gestion, de protection et de surveillance de microservices développé par Google, IBM et Lyft. À l'aide d'istio, vous pouvez facilement créer un réseau de services avec équilibrage de charge, authentification interservices, surveillance et autres fonctions sans aucune modification du code de service.

Adresse de l'entrepôt :

https://github.com/istio/istiohttps://github.com/istio/istio

Adresse officielle du document :

https://istio.io /latest/docs/https://istio.io/latest/docs/

2 (24,1K)Introduction au projet : Go-kit est un Un package de développement distribué du langage Go pour développer des microservices.

Adresse de l'entrepôt :

https://github.com/go-kit/kit/https://github.com/go-kit/kit/Adresse officielle du document :

https ://gokit.io/

3.Go-zero(24.1K)Introduction au projet : go-zero est un framework Web et RPC qui intègre diverses pratiques d'ingénierie.

Adresse de l'entrepôt :

https://github.com/tal-tech/go-zerohttps://github.com/tal-tech/go-zeroAdresse officielle du document :

https://go-zero.dev/cn/docs/introduction

4.Go-micro(19.6K)Introduction du projet : Micro est un micro-système qui vise à simplifier le développement de systèmes distribués. La conception du plug-in enfichable fournit une

architecture

enfichable puissante pour garantir que les composants de base peuvent être remplacés de manière flexible.

Adresse de l'entrepôt : https://github.com/asim/go-micro

Adresse officielle du document : https://go-micro.dev/

Document chinois : Introduction · Manuel chinois de développement de microservices go-micro · KanyunMicro est un écosystème de microservices. L’objectif est de simplifier le développement de systèmes distribués. La technologie évolue rapidement. Désormais, le cloud computing peut nous offrir des capacités d'évolutivité presque illimitées, mais il reste difficile d'utiliser les outils existants pour utiliser ces capacités d'évolutivité. Micro essaie de résoudre ce problème, les développeurs se concentrant d'abord sur lui. À la base, Micro est facile à utiliser et tout le monde peut facilement commencer à écrire des microservices. À mesure que vous évoluez vers des centaines de services, Micro vous fournira les outils essentiels dont vous avez besoin pour gérer votre environnement de microserviceshttps://www.kancloud.cn/linimbus/go-micro/529015

5 Kratos. (19,2K)

Introduction au projet :Bilibili (Bilibili)Un framework de microservices Go open source, comprenant un grand nombre de frameworks et d'outils liés aux microservices.

Adresse de l'entrepôt : https://github.com/cloudwego/kitex

Adresse officielle du document : https://go-kratos.dev/docs/

6.CloudWeGo-Kitex (5,2K)

Présentation du projet : bytesbeating, KiteX Depuis sa sortie officielle en 2020.04, le numéro de service interne de l'entreprise est de plus de 8k et le QPS a dépassé les 100 millions. KiteX est le framework Go RPC de nouvelle génération, hautes performances et hautement évolutif, développé par le ByteDance Framework Group. En plus de riches fonctionnalités de gouvernance de services, il présente également les fonctionnalités suivantes par rapport à d'autres frameworks : Il intègre la bibliothèque réseau auto-développée Netpoll ; prend en charge plusieurs protocoles de messages (Thrift, Protobuf) et plusieurs méthodes d'interaction (Ping-Pong, Oneway, Streaming). ); Fournit un générateur de code plus flexible et extensible.

Adresse de l'entrepôt : https://github.com/cloudwego/kitex

Adresse officielle du document : https://www.cloudwego.io/zh/docs/overview/

7.Goa( 4,9K)

Introduction au projet : Goa est un framework permettant de créer des microservices à l'aide de Go, en utilisant une approche unique axée sur la conception

Adresse de l'entrepôt : https://github.com/goadesign/goa

Adresse officielle du document : https://goa.design/

8.Dubbo-go (4,2K)

Introduction au projet : Ali, langage Go officiellement publié par Apache Software Foundation Rejoignez l'écosystème Dubbo L'architecture est basée sur le module d'extension de Dubbo et la conception de code en couches. Elle résout principalement le problème d'interopérabilité entre les projets Go et les projets Java et Dubbo. Elle fournit également un RPC et des microservices pour les projets Go Warehouse : https://github.com. /apache/dubbo-go

Adresse officielle du document : https://dubbogo.github.io/dubbo-go-website/zh-cn/

9.Jupiter

( 3.9K) Introduction du projet :

Douyu

est un cadre de gouvernance de microservices open source qui fournit de riches fonctions d'arrière-plan, gère les ressources et la configuration des applications et visualise les performances et la configuration des applications. Adresse de l'entrepôt : https://github.com/douyu/jupiter

Adresse officielle du document : http://jupiter.douyu.com/

10.

Introduction au projet : Tencent, Tarsgo est un framework RPC hautes performances basé sur le langage de programmation Golang utilisant le protocole Tars

Adresse d'entrepôt : https://github.com/TarsCloud/TarsGoOfficial adresse du document : https ://tarscloud.github.io/TarsDocs/SUMMARY.html#TarsGo

Pièce jointe : Polaris-polaris-go

Polaris est le centre de découverte et de gouvernance de services open source de Tencent, dédié à la résolution de problèmes dans les systèmes distribués ou architectures de microservices Visibilité des services, tolérance aux pannes, contrôle de flux et problèmes de sécurité.

Adresse de l'entrepôt : https://github.com/polarismesh/polaris

Adresse officielle du document : https://polarismesh.cn/#/

11.Jaeger

Jaeger est une distribution de Uber Ce système de suivi est construit sur la base des principes de Google Dapper et utilise Cassandra comme couche de stockage. 12.fabio

See More

fabio est un routeur d'équilibrage de charge rapide, simple et sans configuration développé par l'équipe eBay utilisant Golang qui permet aux applications déployées par consul de prendre rapidement en charge http(s). [Recommandations associées : Tutoriel vidéo Go]

13.gizmo

gizmo est l'outil de microservice go open source du New York Times, qui fournit les fonctionnalités suivantes : configuration et journaux standardisés pour la surveillance de l'état des points de terminaison ; stratégies configurables ; configuration pour la gestion des points de terminaison pprof et des niveaux de journalisation ; journalisation structurée qui fournit des informations de base sur les demandes ; arrêt progressif des services ; interface de base pour définir les attentes et le vocabulaire.

14.kite

kite est un framework de microservices basé sur le langage go Kite est un framework au sein de Koding. Le framework fournit la découverte de services, plusieurs fonctions d'authentification et le serveur communique via RPC. Bibliothèque websocket js pour faciliter la communication entre les navigateurs et les serveurs.

15.hystrix-go

hystrix-go est une bibliothèque utilisée pour isoler les appels système distants, les appels de bibliothèques tierces, les appels de service, fournir un mécanisme de disjoncteur et éviter les effets d'avalanche. aller version d'Hystrix. Remarque Hystrixs est une bibliothèque Java open source par Netflix.

16.Gateway

Gateway est une passerelle API basée sur HTTP implémentée à l'aide de go. Fonctionnalités : agrégation d'API ; contrôle de flux ; disjoncteur ; équilibrage de charge ; surveillance de l'état du routage des messages ; Que peut-on faire : Planifiez des URL plus conviviales pour les appelants. Les résultats de l'agrégation de plusieurs API sont renvoyés à l'appelant de l'API, ce qui est bénéfique pour le terminal mobile, et le backend peut implémenter des interfaces atomiques. Protégez les services API backend d’être submergés par un trafic anormal soudain. Fournissez un mécanisme de disjoncteur pour permettre au serveur API back-end de disposer de capacités d'auto-récupération. Grâce aux capacités de routage des messages, la publication en niveaux de gris et les tests AB sont réalisés.

17.rainbond

Yunbang est un PaaS open source centré sur les applications qui intègre profondément les meilleures pratiques de gestion des conteneurs de Kubernetes et l'architecture de microservices Service Mesh pour répondre au développement agile requis pour soutenir un développement commercial rapide et efficace. exigences d’exploitation et de maintenance et de gestion Lean.

18.appdash

appdash est une version go du système de suivi des applications distribué, construit sur le principe de Google Dapper.

19.Hprose

Hprose est l'abréviation de moteur de service d'objets distants haute performance - le moteur préféré pour les microservices. Il s'agit d'un middleware de communication dynamique à distance, multilingue, multiplateforme, orienté objet, hautes performances, léger et avancé. Non seulement il est facile à utiliser, mais il est également puissant. Vous n'avez besoin que d'un peu de temps pour apprendre et vous pouvez l'utiliser pour créer facilement des systèmes d'applications distribués multilingues et multiplateformes.

Pour plus de connaissances sur la programmation, veuillez visiter : Vidéos de programmation ! !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn