Je ne comprends pas l'essence de l'architecture, comment pouvez-vous créer un système ordonné?

 

Maintenant, les systèmes logiciels deviennent plus complexes, bien sûr, par conséquent, le rôle de l'architecture est devenue de plus en plus évidente. En tant que développeurs, nous traitons tous les jours et l'architecture, dans le processus, l'architecture est produit aussi souvent une variété de questions:

  • Quelle est l'architecture? Quels sont les schémas de classification, respectivement, pour résoudre le problème?
  • Qu'est-ce qu'un bon design architectural? Comment puis-je développer comme un bon architecte?

Ces questions ont trait à notre compréhension de l'architecture, mais aussi commencer à apprendre et à l'architecture d'utilisation. Donc, aujourd'hui, nous devons analyser en profondeur l'essence de l'architecture, afin que vous puissiez bien comprendre.

L'essence de l'architecture

La physique a un très bien connu « loi d'augmentation entropie »: un système fermé, tous de l'ordre au désordre, qui est, son entropie (c.-à-degré le désordre) continuera d'augmenter, le système finira par devenir complètement désordonné .

Sur cette théorie sur l'évolution des systèmes logiciels, il est également très approprié.

D'une part, les besoins d'affaires de plus en plus, nous continuerons à ajouter des fonctionnalités d'affaires au système, d'autre part, la croissance du trafic, nous continuerons à améliorer le système des fonctions non opérationnelles par des moyens techniques. Si vous ne le faites pas bien à l'avance de la conception, avec l'avance du temps, l'ensemble du système est la croissance barbare, sera progressivement fragmentée, de plus en plus chaotique, réinventer la roue finalement.

Cependant, la nature des organismes peuvent interagir avec le monde extérieur, le métabolisme actif, fabriqué par « entropie négative », qui est, de réduire l'encombrement, pour assurer leur bon ordre, continuer à survivre. Par exemple, les plantes grâce à la photosynthèse, l'énergie lumineuse, le dioxyde de carbone et de l'eau dans la synthèse organique, afin de se nourrir, continuent de survivre. Pour les systèmes logiciels, nous pouvons également prendre l'initiative de régler la relation entre les différentes parties du système, d'assurer l'ensemble du système ordonné pour mieux adapter l'entreprise en pleine croissance et les changements technologiques. Ajustez les relations internes du système tel est mis en œuvre par l'architecture, de sorte que l'architecture est essentiellement:

Par disposition interne raisonnable, assurez-système très ordonné, capable de se dilater pour répondre affaires et l'évolution des technologies.

Celui-ci contient deux significations, nous avons dit expressément que sous la ELARGI:

Tout d'abord, le point de départ est l'architecture de l'entreprise et de la technologie dans un complexe de plus en plus, ce qui provoque une panique du système, le besoin d'assurer l'ordre à travers l'architecture. Nous savons que le mot vient de l'industrie de la construction, l'architecture, pourquoi l'industrie de la construction a besoin « cadre » moyenne?

Construire une maison de paille est très simple, vous pouvez directement commencer, la construction d'une couche de couverture 2, un peu plus complexe, mais sous la direction des artisans expérimentés, le problème n'est pas grande, et de construire un complexe de grande hauteur est tout à fait différente, et nous devons envisager structure interne, de charge, l'éclairage, le drainage, la foudre sismique, etc., qui exigent des professionnels bien avant la conception architecturale globale, et en stricte conformité avec la conception à la construction.

Ici, vous pouvez voir que l'architecture du bâtiment est pas naturel là, mais parce que le bâtiment de plus en plus complexe, nous devons gérer cette complexité à travers l'architecture, afin d'éviter la perte de contrôle du processus de construction.

La même chose est vraie des systèmes logiciels, de l'application de bureau simple à grande plate-forme Internet d'aujourd'hui, le processus, l'ampleur croissante du système, les entreprises et la technologie sont devenues de plus en plus complexes. Nous devons aussi à la conception architecturale, les troubles digestifs causés par la complexité du système est toujours dans un état ordonné, en mesure de répondre aux changements des besoins actuels et futurs.

En second lieu, l'architecture atteint d'un trouble à l'ordre, est réalisé par la mise en page interne rationnelle, les moyens de base est la « séparation » et « ensemble », le premier système à briser, puis les recombiner pour former une relation plus raisonnable .

 

 

Plus précisément, le système « sub » doit être divisé en sous-systèmes, des modules, des composants. temps partagé, nous devons d'abord résoudre le problème de la localisation de chaque partie, puis en fonction de l'emplacement, séparés les uns des autres frontières de pour, et enfin parvenir à une scission raisonnable, nous sommes l'architecture micro-service plus familier, il est une approche de répartition typique.

« L'intégration » repose sur des processus d'affaires et de la technologie, l'intégration organique des différents composants. Par exemple, la plate-forme de service dans la micro-architecture, la scission en micro-services spécifiques, nous avons besoin de classer ces services et la stratification, certains appartenant au service sous-jacent, certains appartenant au service d'agrégation supérieur, mais aussi de mettre en œuvre le service autant que possible , comme nous l'avons dit récemment à Taiwan, qui se reflètent dans l'idée ensemble.

Cela met en évidence la complexité du processus des systèmes de co-décomposition en deux niveaux:

  • Tout d'abord, chaque sous-système assume la responsabilité indépendamment, contient sa propre complexité interne. la complexité du sous-système est transparent à l'extérieur, l'extérieur ne se soucient pas.
  • D'autre part, le sous-système à travers le paquet, réduit à une responsabilité claire d'un point, par conséquent, nous avons besoin que lors de la fermeture en, résoudre les dépendances entre les différents points, de sorte que vous pouvez définir le système dans son ensemble.

Par exemple, nous savons tous que les 23 modèles de conception GoF, le mode Builder, sa logique principale ne doit être donnée aux différents composants de l'ensemble, il ne se soucie pas de créer une composante spécifique de la logique interne, cela peut payer au modèle d'usine pour atteindre. Ici, le mode Builder est responsable de l'assemblage logique à gros grains, il est lié à une partie d'ours, le mode usine logique responsable de la structure à grains fins, supposons que la sous-section, chacun de nous gérer leur propre complexité.

Par « séparation » et « ensemble » raisonnable, le système est de nouveau à un carré, mais la structure monolithique d'origine du système devient un système flexible. Ainsi, la complexité de la décomposition du système de l'efficace et ordonnée du système grandement amélioré.

Bien sûr, la complexité du système sont nombreux, il y a des techniques et sur l'architecture d'entreprise est un système, il y aura une variété d'architectures ensemble pour faire face à ces défis complexes. Alors, nous arrivons à l'aspect spécifique.

catégorie: architecture

Selon des angles différents, l'architecture peut avoir beaucoup de classement, mais en général, divisé en architecture d'entreprise, l'architecture de l'application et l'architecture technique. Ainsi, ces architectures sont au service qui, pour résoudre le problème, quelle est la relation entre eux il?

Avant de répondre à ces questions, nous examinons d'abord le système de processus d'atterrissage.

Le système d'abord être mis au point par les gens, puis gérés par la machine, et le sol de la machine à participer à un système.

 

 

Pour la personne responsable du développement, plus gênant est que l'entreprise est trop complexe, l'esprit de penser clairement, même si la force actuelle de la logique métier dans le code, la maintenance du système est aussi une question de suivi. Ainsi, le développeur est un concept de système requis est clair, on comprend bien que la logique métier, le développement de code visuel.

Responsable des machines en cours d'exécution, problématique est compliquée par la demande extérieure est trop grande, ce qui provoque la machine ne pouvait transporter, parfois, le matériel va mal tourner. Par conséquent, il a besoin d'un système capable d'expansion, le soutien à la tolérance aux pannes de matériel, de haute performance et assurer la disponibilité du système.

Ici, le développement des principaux points de la douleur à résoudre par l'architecture applicative et l'architecture d'affaires, les principaux points de la douleur de la machine par l'infrastructure technique pour résoudre.

Pourquoi dites-vous? Nous regardons, ces architectures sont précisément ce qu'il faut faire avec.

En termes simples, la structure de l'entreprise est des processus clairs d'affaires de base, définir les relations entre les différents modules d'affaires, il nous aide à comprendre ce que le système est confronté et la façon de traiter d'un niveau conceptuel et l'architecture application qui est clair est de savoir comment les systèmes internes de l'organisation , quelles applications est comment appeler les uns les autres, et il nous aide à comprendre comment le système interne de la division du travail et de la coopération au niveau logique.

L'architecture technique est clair que le système se compose de matériel, système d'exploitation et middleware, qui sont les applications que nous développons et comment fonctionnent ensemble pour faire face à une variété de circonstances inhabituelles, pour maintenir la stabilité du système sont disponibles. Ainsi, l'architecture technologique du niveau physique pour nous aider à comprendre comment le système est structuré, et comment résoudre le problème de la stabilité.

Ici vous pouvez voir, l'architecture d'entreprise, l'architecture de l'application et l'architecture technique, définir un système de concept, les niveaux logiques et physiques. Architecture d'affaires donne module de division des affaires et des relations de dépendance, qui déterminent aussi à peu près comment la division des applications de travail et de collaboration, bien sûr, ne nécessite pas de correspondance stricte, comme une entreprise de produits de base, il peut correspondre à trois applications, un premier plan d'affichage de marchandises l'application, une application de gestion de marchandises de fond, ainsi que d'un service de produits de base, mais cela ne nous affecte pas comprendre logiquement, un scénario d'affaires, qui ont demandé à participer, et comment ils coopèrent.

L'architecture technique de celui-ci, par des opérations de stabilisation en charge les applications, et, finalement, assurer des affaires sans aucun problème. Par exemple, lorsque la grande promotion, plusieurs applications peuvent être affectées par un impact important des flux, nous devons considérer la façon dont l'architecture technologique grâce à des moyens techniques pour protéger l'application connexe capable de gérer une forte concurrence, de manière à assurer le bon déroulement de la grande promotion.

Ici, je donne un exemple de faire des films, pour vous aider à la compréhension plus intuitive de la relation entre ces trois architecture: l'architecture d'entreprise définit le scénario de ce film et arrangements de scène, le cadre d'application pour définir plus précisément quels rôles, chacun devoirs, et dans chaque scène, comment ces rôles Interact, l'architecture technique pour finaliser qui interprétera ces rôles, la disposition physique de la scène est de savoir comment, afin d'assurer la réussite du tir entier.

Enfin, je tiens à souligner: Le système est une architecture de système humain est la première d'autres de servir. Par conséquent, le concept d'entreprise est une utilisation claire et rationnelle de la division du travail, la compréhension que les bonnes gens. Nous examinons ensuite la question de la sélection de la technologie, afin d'assurer la réalisation des objectifs non fonctionnels du système. Alors, quand faire la conception de l'architecture, le général est de considérer l'architecture d'entreprise, l'architecture d'application, puis, enfin, l'architecture technologique.

Quelle est la bonne architecture?

De ce qui précède, nous pouvons voir qu'une bonne architecture doit relever deux défis: la complexité de l'entreprise et de la complexité technique.

1. La complexité de l'entreprise

Le système doit d'abord répondre aux exigences commerciales actuelles, sur cette base, mais aussi aux besoins des entreprises rencontrent futurs, de sorte que le système devrait être en mesure de continuer à développer des changements, y compris les ajustements aux fonctionnalités existantes et ajouter de nouvelles fonctionnalités.

De plus, le système ne peut pas les changements de fonction existante influer sur les activités, et non pas une modification, il a conduit à lancer un corps, un problème partout. Par conséquent, dans la conception du cadre, pour rendre le système flexible et évolutive, flexible et capable de faire des ajustements en fonction des changements dans l'entreprise.

De plus, les attentes du marché pour personne, sur la nouvelle entreprise pour être rapide, avant de passer six mois sur une entreprise, cette fois sur une même nouvelle entreprise, nous devons être en mesure de tomber peu de temps. Par conséquent, la conception du cadre, mais aussi pour atteindre peuvent être réutilisés les fonctions du système, de manière à la réutilisation par rapide, l'agilité des entreprises et de l'innovation.

2. La complexité technique

Pour assurer le fonctionnement normal d'une entreprise, en plus de répondre aux fonctions commerciales, mais aussi de faire en sorte que ce système est stable et utilisable.

Un système complexe est composé de nombreux composants, tels que les applications, les serveurs, bases de données, réseaux, middleware, sont susceptibles de se tromper. Ce comment quand les choses vont mal, peut restaurer rapidement le système ou le système de sauvegarde sur le dessus lâcher prise?

Il y a des problèmes de circulation, le trafic est généralement pas, la machine peut traiter une petite quantité, mais quand la grande promotion, beaucoup de trafic entrant, le système ne peut pas être en mesure de soutenir la machine en ajoutant simplement façon?

Il y a aussi des problèmes à faible coût, le système peut faire, au lieu d'utiliser l'équipement matériel pas cher IOE sur grand, sans utilisation de composants open source à la place de logiciels commerciaux coûteux, en utilisant la technologie de virtualisation plutôt que les machines physiques et faible dans le trafic et le pic à des moments différents, de sorte que le système peut être élastique réduction du volume et de l'expansion de celui-ci?

Ce sont des défis techniques pour résoudre le système des fonctions non opérationnelles, il est également conçu pour supporter l'architecture.

Par conséquent, une bonne conception doit non seulement répondre évolutive, réutilisable architecture d'entreprise, nous devons répondre à des systèmes de haute disponibilité et évolutive de haute performance, de manière rentable et aussi loin que possible l'atterrissage. Ainsi, pour la conception d'architecture, de la technologie et des affaires des deux mains saisir avec les deux mains.

Donc, un bon architecte doit avoir ce genre de capacité, afin de concevoir une bonne structure?

Qu'est-ce qu'un bon architecte?

Un bon architecte doit avoir une forte capacité globale à l'interne et à l'extérieur «sous la cuisine, le salon, » Ici, je viens par le biais de l'architecture typique, la possibilité d'introduire un bon architecte doit avoir:

 

 

Un instructeur de l'école de conduite, les compétences de conduite doit être bon, un entraîneur de natation, certainement un bon niveau de natation, car ce sont des travaux très pratique. Le même architecte, TA doit être un bon programmeur pour écrire du code pour une bonne main.

Sur cette base, l'architecte doit avoir l'ampleur de la technologie (connaissances multi-domaines) et la profondeur (prospective technologique). La conception du système traditionnel de la société est très compréhensive, connaît le bien-fondé de la longueur de la face des problèmes pratiques, nous serons bientôt en mesure d'offrir une variété de programmes d'évaluation.

En outre, les architectes ont besoin d'avoir un haut degré de pensée, avec la capacité pensée abstraite. Résumé capacité de pensée est le plus grands architectes, les architectes devraient être bonnes à conceptualisé genre et classés. Par exemple, le visage d'une grande échelle site B2C, peut rapidement l'approvisionnement abstrait -> Opérations -> Recherche avant -> Commander -> Un seul remplir ces modules majeurs de la fracture du système et règle.

Les architectes ont également besoin d'avoir la profondeur de la pensée, il est possible de voir à travers la nature du problème. Regardez au-delà du problème est causé par l'apparence des choses à l'essence, à l'extraction de niveau profond. Par exemple, voir la section du code Java, de savoir comment il fonctionne dans la machine virtuelle Java (Java Virtual Machine, la machine virtuelle Java), un des appels inter-réseaux, savoir comment atteindre les données de position cible à travers une variété de médias (tels que le port LAN). Regardez au-delà du problème, ce qui permet aux architectes de rapidement découvert la vérité sous-jacente fin pour mettre fin à façon en boucle fermée à réfléchir sur le problème, le système permet d'identifier les lacunes et le résoudre.

Un autre point très important, à l'architecture d'atterrissage est une bonne architecture, si les architectes ont également besoin d'avoir de bonnes compétences en communication (émotionnel), pour faire en sorte que les parties parviennent à un consensus sur le cadre, prêt à prendre des mesures concertées et bons compromis capacité (raison), dans le cadre existant pour faire en sorte que les contraintes de ressources est le plus raisonnable, éventuellement faire idéal dans la réalité.

Je suppose que tu aimes

Origine www.cnblogs.com/awzh2020/p/12464851.html
conseillé
Classement