preâmbulo
Em 15 de maio desta semana, o fundador e CEO da MegaEase, arquiteto conhecido e blogueiro sênior da CSDN, Chen Hao (nome de tela: Left Ear Mouse) faleceu em 13 de maio aos 47 anos. Já ouvi seu tempo geek "Left Ear Listening to the Wind" antes e, pessoalmente, acho que é um pouco gratificante.
CoolShell——Chen Hao
O objetivo de escrever este artigo é esperar que algumas das experiências de Chen Hao no caminho da arquitetura possam ser usadas como referência e referência.
Link do artigo: Alguns princípios da arquitetura do meu sistema - Chen Hao
Alguns de seus conselhos e princípios são citados abaixo:
- Princípio 1: Concentre-se nos benefícios reais, não na tecnologia em si
- Princípio 2: Da perspectiva de serviços de aplicativos e APIs, não da perspectiva de recursos e tecnologias
- Princípio 3: Escolha a tecnologia mais popular e madura
- Princípio 4: A integridade é mais importante do que o desempenho
- Princípio Cinco: Desenvolver e Seguir Padrões, Códigos e Melhores Práticas de Conformidade
- Princípio 6: Enfatize a escalabilidade e a operacionalidade da arquitetura
- Princípio 7: Feche totalmente a lógica de controle
- Princípio oito: não acomode a dívida técnica de sistemas legados
- Princípio Nove: Não confie em sua própria experiência, confie em dados e aprendizado
- Princípio 10: Tenha cuidado com a pergunta X-Y e pergunte os requisitos originais
- Princípio 11: Radical é melhor que conservador, inovação e praticidade não entram em conflito
Abaixo está um resumo do artigo acima.
Princípio 1: Concentre-se nos benefícios reais, não na tecnologia em si
- É possível diminuir o limite técnico e acelerar o processo de desenvolvimento de toda a equipe
- Todo o sistema pode funcionar de forma mais estável
- Os custos podem ser reduzidos através da simplificação e automação?
Assuma a perspectiva de serviços de aplicativos e APIs, não de recursos e tecnologias
É preciso haver um planejamento geral de cima para baixo e uma abordagem de design unificado para alcançar a melhoria geral.
Princípio 3: Escolha a tecnologia mais popular e madura
- Use uma pilha de tecnologia mais madura e industrializada tanto quanto possível, em vez da pilha de tecnologia com a qual você está familiarizado
- Escolha tecnologias que são populares globalmente, não aquelas que são populares na China
- Use a tecnologia convencional com altos dividendos tanto quanto possível, em vez de inventar a roda você mesmo, quanto mais modificação mágica
- Na maioria dos casos, se não houver requisitos muito especiais, basicamente não é errado escolher Java
Princípio 4: A integridade é mais importante do que o desempenho
- Use os modelos técnicos mais científicos e rigorosos como esteio, complementados por modelos menos rigorosos
- Em termos de desempenho, sempre há muitas soluções
Princípio Cinco: Desenvolver e Seguir Padrões, Códigos e Melhores Práticas de Conformidade
- Padrões e especificações de protocolo para chamadas entre serviços
- Alguns padrões e normas de nomenclatura
- Especificações para registro e monitoramento
- especificação de configuração
- Especificações usadas pelo middleware
- Versão unificada de software e biblioteca de desenvolvimento
- … …
Princípio 6: Enfatize a escalabilidade e a operacionalidade da arquitetura
- Reduza o acoplamento entre serviços por meio da arquitetura de orquestração de serviços
- Reduza a complexidade de operação e manutenção causada por dependências de serviço por meio de descoberta de serviço ou gateways de serviço
- Certifique-se de usar vários princípios de design de software
Princípio 7: Feche totalmente a lógica de controle
- parada de trânsito
- Fechamento de Governança de Serviço
- porta de dados de monitoramento
- O agendamento de recursos possui uma interface para implantação de aplicativos
- O fim do middleware
Princípio oito: não acomode a dívida técnica de sistemas legados
- Em vez de gastar muito esforço para acomodar a dívida técnica, é melhor pagar a dívida técnica diretamente. A chamada dor de longo prazo é pior do que a dor de curto prazo
- Construa uma "nova área urbana" sem dívida técnica e use o modelo arquitetônico de "camada anticorrosiva" para evitar que a dívida técnica invada a "nova área urbana"
Princípio Nove: Não confie em sua própria experiência, confie em dados e aprendizado
- Nunca confie em sua própria experiência para tomar uma decisão. Antes de tomar qualquer decisão, é melhor gastar um pouco de tempo e verificar as informações relevantes na Internet, blogs técnicos, artigos, papers, etc.
- Ao mesmo tempo, observe como cada empresa ou cada software de código aberto faz isso
- Em seguida, compare os prós/contras de vários esquemas e, finalmente, forme sua própria decisão, para que você possa tomar uma decisão melhor
Princípio 10: Tenha cuidado com a pergunta X-Y e pergunte os requisitos originais
Aconteceu um problema X, mas você pensou que era o problema Y com base na aparência do problema, então tentou encontrar a resposta para Y, perdendo assim muito tempo e mão de obra. É necessário evitar a ocorrência desse tipo de problema, sendo necessário rastrear a origem para encontrar o problema original.
Princípio 11: Radical é melhor que conservador, inovação e praticidade não entram em conflito
O progresso sempre vem da exploração, a exploração tem um preço, mas os benefícios são maiores.
Resumir
Os princípios ou sugestões acima são benevolentes, e os sábios veem a sabedoria, mas, no final, quero que todos ganhem um pouco de experiência juntos.