Quando você inicia um blog com seu próprio nome de domínio, sua primeira postagem deve ser um pouco mais importante para valer o nome de domínio de US$ 4. Como praticante técnico há dez anos, depois de dez anos vagando, descobri que há algum conhecimento que preciso ler em todo o mundo para descobrir uma pista. Deixe-me explicar sistematicamente, passo a passo, desde o início. um pequeno site com milhares de visitantes, ou um pequeno site com um ou dois milhões de visitantes por dia, pode passar por esse estágio sem problemas inerentes à tecnologia. Este artigo foi escrito para alguns técnicos, mas também para empreendedores que não o fazem? entender tecnologia quem.
Todo mundo que conhece a Internet tem suas próprias ideias, e algumas pessoas colocam suas ideias em prática, constroem um site e começam a operá-lo. Na verdade, do ponto de vista puramente tecnológico de sites, devido ao desenvolvimento do modelo de código aberto, agora é muito fácil e barato construir um pequeno site. Quando o número de visitas atinge um determinado nível, o custo começa a disparar e os problemas começam a aparecer. O aumento dos custos causado pelo aumento da largura de banda, expansão de hardware e expansão de pessoal é óbvio, e uma parte considerável dos custos é causada pela reconstrução do código, reconstrução da arquitetura e até mesmo pela substituição da linguagem de desenvolvimento subjacente. O maior problema é a perda de dados. Depois de trabalhar duro por vários anos, você pode voltar ao que era antes de iniciar seu negócio da noite para o dia.
Reduzir custos significa aumentar os lucros. Podemos evitar muitas coisas no início. Estabelecendo primeiro uma boa base, podemos economizar muita energia e preocupações no futuro.
Suponha que você seja um técnico envolvido na abertura de um negócio e atualmente esteja falido. Você precisa fazer tudo sozinho e pagar por isso sozinho. Então, você precisa de centenas de milhares de fundos iniciais para construir um site. você deve prestar atenção aos seguintes pontos:
1. Linguagem de desenvolvimento
De modo geral, quando os técnicos (programadores) iniciam um negócio, eles escolhem a linguagem com a qual estão mais familiarizados com base em sua formação técnica. Porém, considerando que nem sempre é possível escrever programas sozinhos, é preciso pensar bem nisso. Não importa qual linguagem seja usada, a qualidade final do código depende do gerenciamento, portanto, devemos ser práticos desde o nível da linguagem pura. Os populares java, php, .net, python e ruby têm suas próprias vantagens e desvantagens. Para python e ruby, ainda é relativamente difícil recrutar pessoal e a otimização do desempenho exigirá algum esforço. pagar um servidor Windows. Java e PHP ainda são os mais usados. Para sites cujos aplicativos são quase sempre suportados pelo front-end no estágio inicial, o PHP tem vantagens um pouco maiores, como entrada fácil, padrões de design simples, escrita rápida e desempenho suficiente. desvantagem e é fácil de se tornar. É solto, tem muitos bugs ocultos e é difícil de manter. A vantagem do Java é que todo o processo de gerenciamento é auxiliado por muitas ferramentas maduras, e a digitação forte também pode evitar alguns bugs com deficiência mental. A maioria dos programadores JAVA presta mais atenção aos padrões de design, independentemente de ser prático ou não. ainda parece bom. Isto também é uma desvantagem. Os iniciantes podem se concentrar demais nos padrões e ter dificuldade em resolver as necessidades reais.
O front-end não é apenas HTML e CSS. Toda a parte responsável pela interação com o usuário é o front end, incluindo o manipulador. Ainda é recomendado o uso de PHP para este tipo de programa. O principal motivo é que ele é desenvolvido rapidamente e conta com uma ampla gama de praticantes. Quanto ao backend, como análise comportamental, interfaces bancárias, processamento assíncrono de mensagens, etc., não importa qual programa você use, você só pode escolher diferentes idiomas de acordo com as diferentes necessidades do negócio.
2. Gerenciamento de versão de código
Se a velocidade da rede entre os desenvolvedores for semelhante, use SVN; se for mais dispersa, como entre países, use hg; A maioria das pessoas ainda usa o svn.
Supondo que você escolha o svn, há várias considerações. Uma é qual estrutura de árvore usar. No estágio inicial, pode haver apenas um tronco, mas posteriormente será necessário estabelecer filiais, como uma filial de desenvolvimento e uma filial online. Posteriormente, poderá haver uma filial para cada equipe. Recomenda-se escolher dois ramos no início quando há poucas pessoas, desenvolvimento e online. Após o teste local de cada função estar correto, envie-o para o ramo de desenvolvimento. Finalmente, o teste unificado pode ser mesclado no ramo online quando for. on-line. Se você gosta de usar o svn como um disco rígido móvel, não importa se você escreve um pouco e confirma uma vez, mas será um pouco maior ao mesclar. Essas pessoas podem criar uma filial ou até mesmo um armazém de código local. , envie-o para seu próprio branch à vontade e teste-o novamente no branch de desenvolvimento.
A implantação pode ser feita manualmente ou automaticamente. A implantação manual é relativamente simples, geralmente svn update diretamente no servidor ou encontre um novo diretório svn checkout e depois passe a raiz da web para ln -s. Quanto mais complexo o aplicativo, mais complicada é a implantação. Apenas não use upload de FTP. Primeiro, a taxa de erro de referências de arquivo inconsistentes aumenta. Em segundo lugar, é fácil para a versão do desenvolvedor. inconsistente com a versão online, resultando em um erro de digitação que eu originalmente queria corrigir, mas acabou sendo revertido. Se houver vários servidores, ainda é recomendável implantar automaticamente. A máquina cujo código foi alterado será temporariamente removida do pool de serviços atual e reingressada após a conclusão da atualização.
Não importa quão pequeno seja o projeto, desenvolva um bom hábito de usar o gerenciamento de versão. Pelo menos ele pode ser usado como seu backup. Embora meu http://zhiyi.us seja apenas um WordPress, ainda será svn. um ou dois CSS, tudo bem. Os frutos do trabalho.
3. Hardware do servidor
Não inveje os grandes clientes e os ricos. Dê uma olhada na área de varejo da sala de informática. Somente um servidor suporta inúmeros sites. Se você tiver fundos suficientes, é recomendável ter pelo menos três configurações padrão para processamento web, banco de dados e backup. O servidor web requer pelo menos 8G de memória e dual sata raid1. Se a economia estiver um pouco frouxa ou houver muitos arquivos estáticos ou imagens, então 15k sas raid1+0. O banco de dados deve ter pelo menos 16G de memória e 15k sas raid 1+0. É melhor configurar o servidor de backup com a mesma configuração do servidor de banco de dados. Para hardware, você pode comprar chassis de sua própria marca, ou seja, o chassi é equipado com placa-mãe e caixa de disco rígido, e você mesmo pode combinar CPU, memória e disco rígido. Você também pode comprar um conjunto completo de. marcas, ou pode ser compatível com a máquina. Com três máquinas, o preço de mercado é de RMB 60.000 a RMB 70.000.
O servidor web pode executar programas e servir como cache de memória, enquanto o servidor de banco de dados executa apenas o banco de dados principal (se for MySQL). A configuração da web, a configuração do cache e a configuração do banco de dados devem ser consistentes. com os dois anteriores. Desta forma, se houver algum problema com a WEB ou com o banco de dados, altere o endereço IP do servidor de backup e mude para ele. A estratégia de backup pode ser drbd, rsync ou muitas outras soluções de backup de código aberto para você escolher. rsync é o mais simples, basta colocá-lo no cron e executá-lo você mesmo. Para backup e switching, recomenda-se fazer mais testes, escolher o mais seguro e adequado para o negócio e fazer backup em locais externos, tanto quanto possível.
4. Sala de informática
Tente não escolher três tipos de salas de informática: salas de informática da China Unicom com acesso extremamente lento à China Unicom, salas de informática da China Unicom com acesso extremamente lento da China Telecom e salas de informática da China Mobile ou China Railcom com acesso extremamente lento à China Unicom. E a sala de informática da Netcom? Prezado, a China Netcom e a China Unicom se fundiram há muito tempo e foram renomeadas como China Unicom. Pesquise muito, visite o local, teste muito e pergunte de várias maneiras. Ainda existem muitas salas de informática de alta qualidade nas principais cidades, como Pequim, Xangai e Guangzhou. gerenciamento rigoroso. Em particular, o gerenciamento deve ser rigoroso. Não O site não pode ser acessado Depois de um telefonema, você descobre que outra pessoa desligou seu cabo de rede durante a manutenção. Se você puxar algumas fibras ópticas sozinho, isso será chamado de sala de informática. Depende da sua tolerância ao risco e da qualidade psicológica. Pode-se dizer que a sala de informática é muito importante. Está diretamente relacionada à velocidade de acesso ao site. A velocidade de acesso ao site está diretamente relacionada à experiência do usuário. Posso pular o muro para ver a paisagem, mas é difícil de comprar. uma VPN de jogo online para abrir seu site não tão conhecido. Talvez o Ajax do seu site seja excelente, mas o documento nunca fica pronto e alguns códigos estão sempre isolados dos usuários.
5. Estrutura
A arquitetura inicial é geralmente relativamente simples, consistindo em balanceamento de carga web + banco de dados mestre-escravo + cache + armazenamento distribuído + fila. Na direção geral, existem apenas essas poucas coisas. Em termos de detalhes, inúmeros artigos os repetiram. De acordo com o futuro, haverá N mais WEBs, N mais relações mestre-escravo, N mais caches e N mais. xxx designs. As soluções básicas estão todas prontas Sim, mas o que o torna melhor do que outros é que seu design leva em consideração o efeito avalanche quando o cache falha, a consistência dos dados e a diferença de tempo da sincronização mestre-escravo, a estabilidade. da fila e da estratégia de nova tentativa após falha, a eficiência do armazenamento de arquivos e métodos de backup e outras situações inesperadas. Um dia o cache falhará, um dia a replicação do banco de dados será interrompida, um dia a fila não poderá gravar e um dia a fonte de alimentação irá queimar. De acordo com a Lei de Murphy, se você não levar isso em consideração, o site mais cedo ou mais tarde se tornará uma mesa de centro.
6. Software de servidor
Linux, nginx, php e mysql são quase padrão. Além de olhar o nome, também temos que escolher a versão. Existem muitas distribuições Linux, desde que não haja requisitos especiais, escolha aquela com mais usuários, a comunidade mais ativa, a configuração mais conveniente e os pacotes de software mais completos e mais recentes, como Debian e Ubuntu. Quanto ao RHEL e similares, você usa software que só pode ser executado no RHEL? Para o restante nginx, php, mysql, activemq, outros, etc., a menos que você tenha alterado esses softwares ou seu programa realmente não seja compatível com a nova versão, tente ter a versão mais recente, melhor. e redução de bugs, aumento de desempenho. Sempre há pessoas que dizem por boatos que a versão antiga é estável. A chamada estabilidade refere-se a negócios especiais. Quanto a um site escrito em PHP, a maioria das pessoas não alterou nenhum código-fonte do software de servidor. Na maioria dos casos, ele pode ser facilmente atualizado para uma nova versão. Semelhante ao jdk5 para jdk6, python2 para python3, atualizações com mudanças relativamente grandes ainda são relativamente raras. Dê uma olhada no ChangeLog, veja as instruções de atualização e avalie-o com base na sua própria situação. Quanto mais cedo você atualizar, melhor. Outros estão usando o php6 para escrever programas e aqui ainda estamos usando o php4. Ainda é muito responsável atualizar excelentes programas de código aberto. Preste atenção à documentação e não tenha medo.
Os seis pontos acima foram preparados. Agora que temos o ambiente operacional, o esqueleto básico da arquitetura e o plano de backup e comutação, devemos começar a projetar e desenvolver coisas. Há inúmeras coisas em desenvolvimento, e o próximo artigo falará primeiro sobre alguns pontos-chave.
Endereço original: http://zhiyi.us/internet/thinking-twice-before-building-your-site-one.html
Por favor, indique que a fonte da reimpressão é zhiyi.us.