Företagsbakgrund:
Företaget tog in 1 miljard yuan och avyttrade B2B-segmentet för färska livsmedel för att verka som ett självständigt företag. Utöver några kärnroller inom produktchefer, drift och upphandling har FoU-teamet omorganiserats och en komplett uppsättning leverantörskedjeplattformar har byggts om för att stödja storskalig affärsexpansion. Det finns cirka 70 lager över hela landet (inklusive front-end-lager, transitlager och fysiska lager), som faktiskt har nått 10 miljarder affärsomsväng (omsättning) och förväntas nå 100 miljarder företagsstorlek.
FoU-skala
Storleken på FoU-teamet är planerad att vara cirka 100 personer i ett tidigt skede (inom cirka 6 månader), och det kommer att växa till nästan 180 personer i det senare skedet;
FoU-organisationen använder matrisstrukturhantering, inklusive finansgrupp, fabriksgrupp, lagergrupp, inköpsgrupp, big B-försäljningsgrupp, small B-försäljningsgrupp, dataanalysgrupp och arkitekturgrupp.
Produktchef: Ansvarig för och samordning av hanteringen av all produktpersonal, ansvarig för hela produkten, processen, användningen och upplevelsen;
Projektledare: Samordna alla projektscheman och resursfördelning av FoU-personalresurser samt ansvara för FoU-framsteg och leverans av hela produkten.
Chefsarkitekt: Samordna alla tekniska arkitekturer, stödja all projektteknologi och affärsanvändning, bygga ett tekniskt mellankontor och stödja teknologins utveckling och drift och drift, samt ansvara för hela produktens stabilitet.
Datahanterare: Samordna all data och affärsrapporter, bygga ett datacenter, stödja intelligenta dataoperationer och tillhandahålla datastöd för affärs- och ledningsbeslut.
Applikationsarkitektur
Affärsarkitektur
Teknisk arkitektur
Teknologisk arkitektur utvecklas
FoU-infrastruktur
Driftautomation
Databas O&M
Distribuerad infrastruktur
1. Distribuerad plattform för uppgiftsschemaläggning
xxl-job används för att montera uppgifter som bakgrunds-/asynkrona uppgifter, vilket säkerställer att vissa tidskrävande, resurskrävande och tidskrävande uppgifter separeras från API:er och säkerställer stabiliteten i front-end API:er.
2. Distribuerade servicecenter
Eureka-server för enhetlig hantering av tjänsteregistrering, lastbalansering, failover, hälsodetektion och andra tjänster.
3. Distribuerade meddelandeköer
RocketMQ används för asynkron avkoppling av tjänster, vidarebefordran av uppströms- och nedströmsmeddelanden samt asynkron kommunikation av heterogena tjänster.
4. Distribuerat logcenter
Elk, för enhetlig hantering av applikationsloggar, frågor, statistik med mera.
5. Distribuerade filtjänster
Qiniu File Service, för filuppladdning, nedladdning, hantering av fillivscykel, dynamisk skalning av bilder, etc.
6. CDN
Tencent CDN, CDN-nätverksacceleration för bilder, skript, CSS och andra filer, vilket snabbar upp nedladdningshastigheten för frontend-resurser.
7. Distribuerat konfigurationscenter
Apollo, för konfigurationsklassificering, abstraktion, gråskalesläpp, etc. hantering av alla projekt.
8. Mellanvara för databas- och tabellindelning
Sharding-JDBC används för att skydda databassharding och tabellsharding från affärsutvecklare, samt för att dela upp detaljer om master-slave läs-/skrivseparation.
9. Sök efter tjänster
Elasticsearch, för fulltextsökning, similarity documents (data) affärsfrågor.
10. Distribuerad caching
Redis, som används för företagets distribuerade cache, vilket därigenom ökar företagets frågehastighet.
Distribuerat övervakningssystem
1. Övervakning av samtalskedjor
pinpoint, som används för att övervaka och analysera samtalsrelationen för alla tjänster, inklusive (CPU, minne, tid) prestanda, etc. I framtiden kommer det att migreras till skywalking.
2. Loggövervakning
Elk, för enhetlig hantering av applikationsloggar, frågor, statistik med mera.
3. Serverövervakning
Zabbix, för prestandaövervakning på systemnivå för alla Linux-servrar.
4. DB övervakning
PMM används för prestandaövervakningsposter, långsamma förfrågningar och annan analys av alla online-MySQL-databaser.
5. Applikationsövervakning (prestandaanalys)
CAT, som används för analys av alla onlinelänkar för fram- och bakåtsamtal, tidskrävande prestandaanalys av databaser och URL:er, prestandaanalysrapporter för tjänster och servrar, BSF:s egenutvecklade övervakningsrapporter, etc.
Distribuerad ramverk BSF
Mål: För att bättre stödja affärsutveckling, låta utvecklare frigöra sig från middleware och fokusera på verksamheten för att förbättra utvecklingseffektiviteten. Samtidigt centraliserar och optimerar det grundläggande ramverket tjänsterna och användningen av middleware, vilket ger utvecklare högpresterande och mer bekväma grundläggande tjänstegränssnitt och verktyg, och den praktiska processen kan öka effektiviteten med tio gånger.
Öppen källkodsadress:Inloggningen med hyperlänken är synlig.
Den underliggande ramverks-BSF och affärsramverket är separerade, så att den allmänna underliggande ramverket kan rensas från det faktiska publika affärsbiblioteket. Baserat på BSF och Business definierar vi en standardbyggställning csx-b2b-demo för snabb konstruktion av projekttjänster.
Grundläggande affärsservicebyggande
Jämför befintliga tjänstemarknadsarkitekturer
Teknisk arkitektur
Affärsarkitektur
framtid
- Affärstjänstens splitstruktur rekonstrueras
- Big data och läs-/skrivseparation
- AI för företag
- BSF-stöd för JDK17 och 21
- Formmotor och processmotor
av Che Jiang Yi
2023-5-6
Java R&D-teamets interna arkitektur delar anteckningar
Original:Inloggningen med hyperlänken är synlig.
|