Qual é a arquitetura?
A arquitetura originou-se no campo da construção, como construção de pontes, construção de casas e lançamento de fundações.
Os antigos trabalhadores cheios de sabedoria decompunham edifícios complexos em componentes estruturais comuns de acordo com suas características. O
mesmo se aplica ao software.
Enquanto as pessoas os decompõem e montam subjetivamente, o conceito de arquitetura é usado.
Vamos falar sobre arquitetura de software
Arquitetura de software é um método científico para engenheiros de software definirem a arquitetura do sistema ao projetar um sistema de software.
Refere-se à maneira como um sistema de software é organizado com engenheiros de software focados em funcionalidade, desempenho e atributos de qualidade de segurança.
Em outras palavras, a arquitetura de software é um meio técnico de dividir um sistema de software em módulos para atingir funções específicas.
1: A arquitetura de software é composta principalmente por três elementos:
Estrutura do módulo : A estrutura do módulo é uma estrutura que divide o sistema de software em diferentes módulos para atingir funções específicas.
Estrutura do framework : A estrutura do framework é uma estrutura que organiza os diversos módulos do sistema de software de acordo com uma determinada forma organizacional para atingir funções específicas.
Estrutura de componentes : A estrutura de componentes é uma estrutura na qual um sistema de software é composto de diferentes componentes
para atingir funções específicas.
2: Camadas de arquitetura
2.1: A arquitetura de negócios
inclui planejamento de negócios, módulos de negócios, processos de negócios, divisão de negócios de todo o sistema, envolvendo modelos de domínio e transformando negócios reais em objetos abstratos
Não existe uma arquitetura ideal, apenas a arquitetura mais apropriada. Os princípios de design de todos os sistemas devem ser a resolução de problemas de negócios como objetivo final. A arquitetura técnica e emocional divorciada dos negócios reais muitas vezes trará grandes armadilhas ao sistema.
É preciso entender o tamanho do volume de negócios e qual a tendência de crescimento, e o processo de solução da alta simultaneidade deve ser passo a passo.
2.3: Arquitetura da aplicação
Abstração do hardware para a aplicação, incluindo camada de abstração e interface de programação. A arquitetura de aplicativos e a arquitetura de negócios são complementares entre si. Cada parte da arquitetura de negócios tem uma arquitetura de aplicação.
Como uma unidade implantada de forma independente, a arquitetura de aplicação define um limite claro para o sistema, o que afeta profundamente a organização funcional do sistema, o desenvolvimento de código, a implantação, a operação e a manutenção. A arquitetura de aplicação define o que aplicações que o sistema possui e como as aplicações dividem o trabalho e cooperam
2.3: Arquitetura de dados A
arquitetura de dados orienta o design do banco de dados. Não apenas o banco de dados e o modelo de entidade envolvidos no desenvolvimento devem ser considerados, mas também o design do armazenamento de dados na arquitetura física.
2.4: Arquitetura de código
①. Unidade de código
Projeto de configuração
Frameworks e bibliotecas de classes.
②. Organização da unidade de código
Padrões de codificação, convenções de codificação.
Divisão do módulo do projeto
Design de estrutura de arquivos de nível superior, como design mvc.
Dependências
2.5. Arquitetura técnica
Arquitetura técnica: determine os componentes reais em execução que compõem o sistema de aplicação (lvs, nginx, tomcat, php-fpm, etc.), o relacionamento entre esses componentes em execução e a estratégia de implantação no hardware.
A arquitetura técnica considera principalmente as características não funcionais do sistema e compreende em nível de sistema a alta disponibilidade, alto desempenho, expansão, segurança, escalabilidade, simplicidade do sistema, etc.
O projeto da arquitetura do sistema exige que os arquitetos tenham um excelente conhecimento das funções e do desempenho do software e do hardware, sendo esta também a tarefa mais difícil no projeto de arquitetura.
2.6. Diagrama de arquitetura de topologia de implantação (diagrama de arquitetura física real)
A arquitetura topológica, incluindo quantos nós são implantados na arquitetura, o relacionamento entre os nós, a alta disponibilidade de servidores, interfaces e protocolos de rede, etc., determina como o aplicativo é executado, o desempenho, a capacidade de manutenção e a escalabilidade de todas as arquiteturas. Fundação. Este diagrama é principalmente o foco principal dos engenheiros de operação e manutenção.
A arquitetura física considera principalmente a seleção e topologia de hardware, o mapeamento de software para hardware e a influência mútua de software e hardware.
3: Níveis de arquitetura
Nível do sistema: isto é, o relacionamento entre as várias partes de todo o sistema e como governá-lo: em camadas
Nível de aplicação: isto é, a arquitetura geral de uma única aplicação e seu relacionamento com aplicações individuais no sistema.
Nível do módulo: ou seja, a arquitetura do módulo dentro do aplicativo, como modularização de código, gerenciamento de dados e status, etc.
Nível de código: isto é, garantir a implementação da arquitetura a partir do nível de código.
4: Design estratégico e design tático
Com base na pirâmide arquitetônica, temos a combinação perfeita entre design estratégico e design tático de arquitetura de sistema:
Design estratégico: a arquitetura de negócios é usada para orientar os arquitetos sobre como projetar a arquitetura do sistema.
Design tático: A arquitetura do aplicativo deve ser projetada de acordo com a arquitetura do negócio.
Implementação tática: Depois que a arquitetura da aplicação for determinada, é hora de selecionar a tecnologia.
Arquitetura é pensamento sistemático , pesando os prós e os contras para tomar a decisão mais razoável sob as restrições de recursos existentes e, finalmente, esclarecer o esqueleto do sistema: incluindo subsistemas, módulos, componentes e a relação colaborativa entre eles, especificações de restrições, até princípios, envolvendo
4 aspectos:
01: Decisões razoáveis baseadas no pensamento sistemático: como seleção de tecnologia, soluções, etc.
02: Esqueleto claro do sistema: esclareça em que partes o sistema consiste.
03: Relacionamento de colaboração do sistema: como cada componente colabora para atender às solicitações de negócios
04: Especificações de restrição e princípios orientadores: garantem a operação ordenada, eficiente e estável do sistema.