当前位置:网站首页>Développeur, quelle est l'architecture des microservices?
Développeur, quelle est l'architecture des microservices?
2022-06-26 10:25:00 【Le Prince.】
🧑Auteur:Étudiants en informatique de deuxième année
Page d'accueil:Concentrez - vous sur l'apprentissage de nouvelles technologies
La clé:MicroservicesDéveloppement de logicielsArchitectureConcept
Bonjour tout le monde,Ce que nous partageons aujourd'hui, c'est l'architecture de l'entreprise,Architecture des microservices,Lire cet article,Je suis sûr que vous serez beaucoup plus clair sur le concept de microservice,Je suis Chow,Si vous pensez que l'article est bien écrit,Rappelez - vous que les triplets soutiennent les pauvres blogueurs

Catalogue des articles
Architecture monomère

Parlez directement de l'architecture des microservices,C'est trop dur.,Il y a une raison à la naissance de toute nouvelle technologie,Avant de parler de l'architecture des microservices, Je pense que nous devrions commencer par le concept d'architecture monomère et ses avantages et inconvénients .
En parlant d'architecture monomère , Le plus souvent, c'est MVCArchitecture, L'avantage est que les coûts d'apprentissage sont faibles ,Allez!,Tests、Déploiement、 L'exploitation et l'entretien sont également pratiques , Même une personne peut développer et déployer un petit site Web .
ParMVCExemple d'architecture, Les opérations se font généralement par le déploiement d'un (Le cercle)WARSac.TomcatServeur,DémarrageTomcat Écouter un port pour un service externe , Petite entreprise au début 、 Quand l'équipe était petite , L'architecture monomère est un bon choix .
Mais avec l'expansion de l'entreprise , Le nombre croissant de membres de l'équipe , L'architecture monomère commence à poser des problèmes . Par exemple, le coût du travail d'équipe augmente , Quand les affaires tournent mal , Presque tous les développeurs concernés sont impliqués dans la résolution ,Inefficacité,Coût élevé, La disponibilité du système s'est détériorée , Parce que toutes les entreprises sont emballées et déployées , En cas de problème avec le Code ou les ressources impliqués dans une fonction ,Ça affectera toutWAR Fonctions déployées dans le paquet , C'est très grave . Déploiement inefficace , De plus en plus de codes d'application uniques , La dépendance augmente également , J'ai assez de temps pour appliquer les tests de déploiement. .Croissance des entreprises, Le Service commence plus longtemps , La vitesse de mise en ligne fait mal à la tête ……
Donc,, Une nouvelle architecture est nécessaire pour découpler les différents modules de l'application , Réduire les coûts d'entretien du déploiement du développement , L'idée du service est née ,Microservices, Peut grandement améliorer l'efficacité de la livraison des applications !
Service
En termes simples, Le service consiste à utiliser les applications monomères traditionnelles JAR Appel de méthode local généré par la dépendance du paquet ,Pour passer à traversHTTPDeREST APIAppel d'interface distante.
Ça se voit., Par le service , Peut améliorer l'expansion de l'application monomère , Couplage élevé du système , Problèmes tels que l'inefficacité de la collaboration .
Architecture des microservices

Grâce à Docker Pour représenter la maturité de la technologie de conteneurisation et DevOps La montée de la culture, L'idée de service a évolué pour devenir l'architecture de microservice que nous connaissons aujourd'hui. .
DevOps C'est une valeur“Développeurs de logiciels(Dev)”Et“ITOutil universel de prise de paquets(Ops)”Une culture de communication et de coopération、Sports ou conventions,Grâce à l'automatisation“Livraison de logiciels”Et“Changement d'architecture”Processus,Pour construire、Tests、Le logiciel de publication peut être plus rapide、Fréquent et fiable.
Quelles sont donc les caractéristiques des microservices ?
- La granularité du fractionnement des services est plus fine, Le micro - service peut être considéré comme une dimension plus fine du Service , Aussi petit qu'un sous - module ,Chaque service se concentre généralement sur une entreprise particulière、Petite quantité de code requise,Faible complexité、Facile à entretenir
- Entretien indépendant du service, Chaque micro - service peut être développé par une petite équipe ou même une personne 、Tests、 Publier et o & M , Et responsable de tout le cycle de vie
- Taille de l'équipe, Chaque service est développé séparément dans le cadre des microservices ,Déploiement et entretien.Chaque service est conçu à partir de, Petite équipe de développement à maintenance , Gestion d'équipe facile ,Faible coût
- Mode de stockage des données,Différents microservices peuvent utiliser différentes méthodes de stockage des données, Par exemple, certaines utilisations mysql,Oui.redis……
- Modèle de développement,En microservice, Différents modules peuvent être développés dans différentes technologies ou langues ,Un modèle de développement plus flexible
- Les applications qui adoptent une architecture monomère n'ont besoin que de modifications,Vous devrez redéployer toute l'application pour qu'elle prenne effet.,Et les microservices résolvent parfaitement ce problème.Dans l'architecture des micro - services,Après modification d'un microservice,Il suffit de redéployer ce service,Sans avoir à redéployer l'application entière
- Les microservices peuvent être reliés à des conteneurs(Docker)En association avec,Mise en œuvre d'itérations rapides、Construction rapide、Déploiement rapide
- Les microservices ont une bonne extensibilité,Au fur et à mesure que l'entreprise grandit, Le volume et la quantité de Code des microservices augmentent considérablement ,À ce stade, nous pouvons diviser à nouveau le micro - service en fonction de l'entreprise;En plus de ça,,Lorsque le nombre d'utilisateurs et la concurrence augmentent,Nous pouvons également regrouper les déploiements de microservices,Cela augmente la capacité de charge du système
On peut voir que, Lancement et déploiement de microservices pour les services , Et l'entretien du Service apporte beaucoup d'avantages .
Cadre des microservices
L'architecture des microservices est un style et une idée d'architecture de système, En réalité, je veux construire un système de micro - services ,Nécessite le soutien du cadre de microservice.Avec la popularité des micro - services, De nombreux langages de programmation ont introduit leurs propres cadres de microservice ,Par exemple,:
Java Cadre des microservices
Spring Cloud:Basé sur REST Services pour construire des services,Aider les architectes à construire une chaîne écologique complète de technologies de microservicesSpark:Le meilleur Java Un des cadres de microservice,Le cadre soutient l'adoption Java 8 Et Kotlin Créer une application pour l'architecture des microservicesDubbo: Cadre de services distribués open source d'Alibaba
……
Go Cadre de microservices linguistiques
Go Il y a moins de cadres de micro - services dans la langue,Plus utilisé GoMicro,C'est un RPC Cadre,Équilibrage de la charge、Découverte de services、Communication synchrone、Fonctions telles que la communication asynchrone et le codage des messages
Phyton Cadre des microservices
Phyton Les cadres de micro - services de Flask、Falcon、Bottle、Nameko Et CherryPy Attendez.
Et beaucoup de langues , Chacun a son propre cadre de micro - services ,Je ne vais pas les énumérer ici., Ce que les blogueurs connaissent Spring Cloud
Résumé
Le Service passe d'une application d'architecture unique à un déploiement de développement fractionné axé sur le Service , Plus tard, avec l'expansion de l'échelle de l'Internet mobile ,Développement agile、Exécution continue、DevOps Développement et pratique de la culture ,Et basé surDocker La maturation constante de la technologie de Containerisation , Affiner le service ,L'architecture des microservices est devenue populaire,Devenir progressivement la direction de l'évolution future de l'architecture d'application.
Résumé simple, L'architecture des microservices consiste à séparer les applications monomères complexes et volumineuses en services à grain fin. , Chaque service divisé est confié à une petite équipe pour le développement, l'exploitation et l'entretien. , Une fois le déploiement terminé, Emballez - le séparément , Cela améliore considérablement l'efficacité de la livraison des applications et la difficulté de maintenir les Itérations , Par conséquent, il est progressivement adopté par les grandes entreprises Internet. .
À la fin
Lisez - le ici., Vous devez avoir une connaissance de base des micro - services ,Capacité limitée de l'auteur, S'il y a une erreur dans l'écriture , Veuillez également indiquer la correction ,Enfin, J'espère que vous pourrez jeter les bases ,Terre à terre,Allez, mon garçon., N'oubliez pas que les triplets soutiennent les pauvres blogueurs ,Je suis Chow,J'attends votre attention.

边栏推荐
- MySQL第十四次作业--电子商城项目
- 【LeetCode】59. 螺旋矩阵 II
- Little red book - Notes inspiration - project summary
- MySQL第十二次作业-存储过程的应用
- 【深度优先搜索】312.戳气球
- SSH, SCP command appears permission denied, please try again solution
- Dynamic library connection - symbol conflict - global symbol intervention
- What is the web SSH service port of wgcloud
- Differences between JVM, Dalvik and art
- Introduction to stored procedure testing
猜你喜欢

國際化配置

How to change the QR code material color of wechat applet

MySQL learning summary

The IE mode tab of Microsoft edge browser is stuck, which has been fixed by rolling back the update

Extracting public fragments from thymeleaf

The fourteenth MySQL operation - e-mall project

Record the handling of oom problems caused by too many threads at one time

Win10安装tensorflow-quantum过程详解

904. 水果成篮

904. fruit baskets
随机推荐
MySQL第六次作业-查询数据-多条件
【无标题】
Global and Chinese market of electronic pet door 2022-2028: Research Report on technology, participants, trends, market size and share
Selection of webrtc video codec type VP8 H264 or other? (openh264 encoding, ffmpeg decoding)
Global and Chinese market of recycled paper 2022-2028: Research Report on technology, participants, trends, market size and share
MySQL job 11 - application de la vue
Servlet learning notes II
MySQL第十次作业-视图
Introduction to libmagic
Little red book - Notes inspiration - project summary
【Leetcode】76. 最小覆盖子串
JVM的符号引用和直接引用是什么
MySQL第十三次作业-事务管理
SSM项目小例子,SSM整合图文详细教程
【Leetcode】76. Minimum covering substring
Appium自动化测试基础 — 移动端测试环境搭建(二)
Dynamic library connection - symbol conflict - global symbol intervention
Global and Chinese market of aluminum sunshade systems 2022-2028: Research Report on technology, participants, trends, market size and share
Full introduction to flexboxlayout (Google official flexible implementation of flow layout control)
3行3列整形二维数组,求对角之和