Contextul companiei:
Compania a strâns 1 miliard de yuani și a vândut segmentul B2B de produse proaspete pentru a funcționa ca o companie independentă. Pe lângă unele roluri de bază de manager de produs, operațiuni și achiziții, echipa de cercetare și dezvoltare a fost reorganizată, iar un set complet de platforme de lanț de aprovizionare a fost reconstruit pentru a susține extinderea la scară largă a afacerii. Există aproximativ 70 de depozite în toată țara (inclusiv depozite front-end, depozite de transport și depozite fizice), care au atins de fapt o scară de afaceri de 10 miliarde (venituri) și se așteaptă să atingă o scară de 100 de miliarde.
Scara R&D
Dimensiunea echipei de cercetare și dezvoltare este planificată să fie de aproximativ 100 de persoane în stadiul incipient (în aproximativ 6 luni), iar în etapa ulterioară va crește la aproape 180 de persoane;
Organizația de cercetare și dezvoltare adoptă managementul structurii matriciale, incluzând grupul financiar, grupul de fabrici, grupul de depozitare, grupul de achiziții, grupul de vânzări Big B, grupul de vânzări Small B, grupul de analiză de date și grupul de arhitectură.
Director de produs: Responsabil și coordonând managementul întregului personal de produs, responsabil pentru întregul produs, proces, utilizare și experiență;
Manager de proiect: Coordonează toate programele proiectului și alocarea personalului pentru cercetare și dezvoltare și este responsabil pentru progresul în cercetare și dezvoltare și livrarea întregului produs.
Arhitect Șef: Coordonează toate arhitecturile tehnice, susține toate tehnologiile proiectului și utilizarea afacerii, construiește un middle office tehnic și susține evoluția tehnologică și O&M, fiind responsabil pentru stabilitatea întregului produs.
Manager de date: Coordonează toate datele și rapoartele de business, construiește un centru de date, susține operațiuni inteligente de date și oferă suport pentru deciziile de afaceri și managementul superior.
Arhitectura aplicațiilor
Arhitectura afacerii
Arhitectură tehnică
Arhitectura tehnologică evoluează
Infrastructura de cercetare și dezvoltare
Automatizarea operațiunilor
O&M de baze de date
Infrastructură distribuită
1. Platformă distribuită de programare a sarcinilor
xxl-job este folosit pentru a monta sarcini precum cele în fundal/asincrone, asigurând că unele sarcini consumatoare de timp, resurse și de sincronizare sunt separate de API-uri și stabilitatea API-urilor front-end.
2. Centre de servicii distribuite
Eureka-server pentru gestionarea unificată a înregistrării serviciilor, echilibrării sarcinii, failover-ului, detectării stării de sănătate și altor servicii.
3. Cozi distribuite de mesaje
Rocketmq este folosit pentru decuplarea asincronă a serviciilor, redirecționarea mesajelor upstream și downstream și comunicarea asincronă a serviciilor eterogene.
4. Centru de bușteni distribuit
ELK, pentru gestionarea unificată a jurnalelor de aplicații, interogărilor, statisticilor etc.
5. Servicii distribuite de fișiere
Qiniu File Service, pentru încărcarea și descărcarea fișierelor, gestionarea ciclului de viață a fișierelor, scalarea dinamică a imaginilor etc.
6. CDN
Tencent CDN, accelerare de rețea CDN pentru imagini, scripturi, CSS și alte fișiere, accelerând viteza de descărcare a resurselor front-end.
7. Centru de configurare distribuit
Apollo, pentru clasificarea configurațiilor, abstractizarea, eliberarea în tonuri de gri etc. pentru gestionarea tuturor proiectelor.
8. Middleware pentru subdivizarea bazelor de date și a tabelelor
Sharding-JDBC este folosit pentru a proteja fragmentarea bazelor de date și a tabelelor de către dezvoltatorii de afaceri, precum și pentru a împărți detaliile separării citirii/scrierii master-slave.
9. Căutare servicii
elasticsearch, pentru căutări full-text, documente de similaritate (date) interogări de business.
10. Caching distribuit
redis, care este folosit pentru cache-ul distribuit al afacerii, accelerând astfel viteza de interogare a afacerii.
Sistem distribuit de monitorizare
1. Monitorizarea lanțului de apeluri
punct, care este folosit pentru a monitoriza și analiza relația de apel a tuturor serviciilor, inclusiv performanța (CPU, memorie, timp) etc. În viitor, va fi migrat în skywalking.
2. Monitorizarea jurnalismului
ELK, pentru gestionarea unificată a jurnalelor de aplicații, interogărilor, statisticilor etc.
3. Monitorizarea serverului
Zabbix, pentru monitorizarea performanței la nivel de sistem a tuturor serverelor Linux.
4. DB monitorizare
PMM este folosit pentru monitorizarea performanței, interogări lente și alte analize ale tuturor bazelor de date MySQL online.
5. Monitorizarea aplicațiilor (Analiza performanței)
CAT, care este folosit pentru analiza tuturor legăturilor online de apeluri direcționate și inverse, analiza de performanță consumatoare de timp a bazelor de date și URL-urilor, rapoartele de analiză a performanței serviciilor și serverelor, rapoartele de monitorizare dezvoltate de BSF de către BSF etc.
Cadru distribuit BSF
Obiectiv: Pentru a sprijini mai bine dezvoltarea afacerii, să permitem dezvoltatorilor să se elibereze de middleware și să se concentreze pe afaceri pentru a îmbunătăți eficiența dezvoltării. În același timp, cadrul de bază centralizează și optimizează serviciile și utilizarea middleware-ului, oferind dezvoltatorilor interfețe și instrumente de bază de înaltă performanță și mai convenabile, iar procesul practic poate crește eficiența de 10 ori.
Adresă Open Source:Autentificarea cu hyperlink este vizibilă.
Cadrul de bază BSF și cadrul de afaceri sunt separate, astfel încât cadrul general de bază poate fi eliminat din biblioteca publică de afaceri reală. Pe baza BSF și Business, definiți un schelă standard de proiect csx-b2b-demo pentru construirea rapidă a serviciilor de proiect.
Construcția serviciului de bază pentru afaceri
Compară arhitecturile existente ale pieței de servicii
Arhitectură tehnică
Arhitectura afacerii
viitor
- Structura de împărțire a serviciilor de afaceri este reconstruită
- Big data și separarea citire/scriere
- AI pentru afaceri
- Suport BSF pentru JDK17 și 21
- Motor de formă și motor de proces
de Che Jiang Yi
2023-5-6
Arhitectura internă a echipei Java R&D împărtășește notițe
Original:Autentificarea cu hyperlink este vizibilă.
|