Histórico da empresa:
A empresa levantou 1 bilhão de yuans e se desfez do segmento B2B de alimentos frescos para operar como uma empresa independente. Além de alguns papéis principais de gerentes de produto, operações e compras, a equipe de P&D foi reorganizada, e um conjunto completo de plataformas de cadeia de suprimentos foi reconstruído para apoiar a expansão em larga escala do negócio. Existem cerca de 70 armazéns em todo o país (incluindo armazéns front-end, armazéns de trânsito e armazéns físicos), que na verdade atingiram uma escala de 10 bilhões de negócios (receita) e devem atingir 100 bilhões de escala de negócio.
Escala de P&D
O tamanho da equipe de P&D está planejado para cerca de 100 pessoas no estágio inicial (dentro de cerca de 6 meses), e crescerá para quase 180 pessoas na fase final;
A organização de P&D adota a gestão da estrutura matricial, incluindo grupo financeiro, grupo de fábrica, grupo de armazenagem, grupo de compras, grupo de vendas Big B, grupo de vendas Small B, grupo de análise de dados e grupo de arquitetura.
Diretor de Produto: Responsável e coordenando a gestão de todo o pessoal do produto, responsável por todo o produto, processo, uso e experiência;
Gerente de Projeto: Coordenar todos os cronogramas do projeto e a alocação de recursos de pessoal de P&D, sendo responsável pelo progresso de P&D e pela entrega de todo o produto.
Arquiteto-Chefe: Coordenar todas as arquiteturas técnicas, apoiar todas as tecnologias do projeto e uso comercial, construir um middle office técnico e apoiar a evolução tecnológica e a Operação e Gestão, além de ser responsável pela estabilidade de todo o produto.
Gestor de Dados: Coordenar todos os dados e relatórios de negócios, construir um data center, apoiar operações inteligentes de dados e fornecer suporte de dados para decisões de negócios e alta gestão.
Arquitetura de aplicações
Arquitetura de negócios
Arquitetura técnica
Arquitetura tecnológica evolui
Infraestrutura de P&D
Automação de operações
Banco de Dados O&M
Infraestrutura distribuída
1. Plataforma distribuída de agendamento de tarefas
xxl-job é usado para montar tarefas como tarefas em segundo plano/assíncronas, garantindo que algumas tarefas demoradas, consomem recursos e de temporização sejam separadas das APIs, além de garantir a estabilidade das APIs front-end.
2. Centros de serviços distribuídos
Eureka-Server para gerenciamento unificado de registro de serviços, balanceamento de carga, failover, detecção de saúde e outros serviços.
3. Filas de mensagens distribuídas
O Rocketmq é usado para desacoplamento assíncrono de serviços, encaminhamento de mensagens a montante e a jusante, e comunicação assíncrona de serviços heterogêneos.
4. Centro de registro distribuído
ELK, para gerenciamento unificado de logs de aplicação, consultas, estatísticas, etc.
5. Serviços de arquivos distribuídos
Qiniu File Service, para upload, download, gerenciamento do ciclo de vida de arquivos, escalonamento dinâmico de imagens, etc.
6. CDN
Tencent CDN, aceleração de rede CDN para imagens, scripts, CSS e outros arquivos, acelerando a velocidade de download dos recursos front-end.
7. Centro de configuração distribuído
Apollo, para classificação de configuração, abstração, liberação em tons de cinza, etc., gestão de todos os projetos.
8. Middleware para subdivisão de banco de dados e tabelas
O sharding-JDBC é usado para proteger o fragmentação de bancos de dados e a fragmentação de tabelas de desenvolvedores de negócios, além de separar detalhes da separação entre leitura/escrita mestre-escravo.
9. Buscar serviços
elasticsearch, para busca em texto completo, documentos de similaridade (dados) consultas empresariais.
10. Cache distribuído
Redis, que é usado para o cache distribuído do negócio, acelerando assim a velocidade de consulta do negócio.
Sistema de monitoramento distribuído
1. Monitoramento da cadeia de chamadas
pinpoint, que é usado para monitorar e analisar a relação de chamadas de todos os serviços, incluindo desempenho (CPU, memória, tempo), etc. No futuro, será migrado para skywalking.
2. Monitoramento de logs
ELK, para gerenciamento unificado de logs de aplicação, consultas, estatísticas, etc.
3. Monitoramento de servidores
Zabbix, para monitoramento de desempenho no nível do sistema de todos os servidores Linux.
4. DB monitoramento
O PMM é usado para monitoramento de desempenho, consultas lentas e outras análises de todos os bancos de dados MySQL online.
5. Monitoramento de Aplicações (Análise de Desempenho)
CAT, que é usado para a análise de todos os links de chamadas diretas e reversas online, análise de desempenho demorada de bancos de dados e URLs, relatórios de análise de desempenho de serviços e servidores, relatórios de monitoramento auto-desenvolvidos pela BSF, etc.
Estrutura distribuída BSF
Objetivo: Para apoiar melhor o desenvolvimento de negócios, permitir que os desenvolvedores se libertem do middleware e foquem no negócio para melhorar a eficiência do desenvolvimento. Ao mesmo tempo, o framework básico centraliza e otimiza os serviços e o uso do middleware, oferecendo aos desenvolvedores interfaces e ferramentas básicas de serviço de alto desempenho e mais convenientes, e o processo prático pode aumentar a eficiência em 10 vezes.
Endereço de Código Aberto:O login do hiperlink está visível.
O framework subjacente BSF e o business framework empresarial são separados, de modo que o framework geral subjacente pode ser removido da biblioteca pública de negócios real. Com base no BSF e no Negócio, defina um andaime padrão de projeto csx-b2b-demo para construir rapidamente serviços de projeto.
Construção básica de serviços para negócios
Compare arquiteturas de mercado de serviços existentes
Arquitetura técnica
Arquitetura de negócios
futuro
- A estrutura de divisão de serviços comerciais é reconstruída
- Big data e separação entre leitura/escrita
- IA para negócios
- Suporte BSF para JDK17 e 21
- Motor de forma e motor de processo
por Che Jiang Yi
2023-5-6
Compartilhando notas da arquitetura interna da equipe de P&D Java
Original:O login do hiperlink está visível.
|