Tło firmy:
Firma pozyskała 1 miliard juanów i sprzedała segment B2B z branży świeżej żywności, aby prowadzić działalność jako niezależna firma. Oprócz kluczowych ról menedżerów produktu, operacji i zakupów, zespół R&D został zreorganizowany, a kompletny zestaw platform łańcucha dostaw został przebudowany, aby wspierać rozwój biznesu na dużą skalę. W całym kraju znajduje się około 70 magazynów (w tym magazyny front-end, magazyny tranzytowe oraz magazyny fizyczne), które faktycznie osiągnęły skalę 10 miliardów biznesu (przychodów) i oczekuje się, że osiągną skalę 100 miliardów biznesu.
Skala R&D
Liczebność zespołu badawczo-rozwojowego ma wynosić około 100 osób na wczesnym etapie (w ciągu około 6 miesięcy), a w późniejszym okresie liczba osób wzrośnie do prawie 180;
Organizacja R&D stosuje zarządzanie strukturą macierzyową, w tym grupę finansową, grupę fabryczną, grupę magazynową, grupę zakupową, grupę sprzedaży big B, grupę sprzedaży small B, grupę analizy danych oraz grupę architektury.
Dyrektor produktu: Odpowiedzialny za zarządzanie i koordynację zarządzania całym personelem produktu, odpowiedzialny za cały produkt, proces, zastosowanie i doświadczenie;
Kierownik projektu: Koordynować wszystkie harmonogramy projektów oraz alokację zasobów personelu badawczo-rozwojowego oraz odpowiadać za postęp badań i rozwoju oraz realizację całego produktu.
Główny Architekt: Koordynować wszystkie architektury techniczne, wspierać wszystkie technologie projektowe i użytkowanie biznesowe, budować techniczne centrum biurowe oraz wspierać rozwój technologii i O&M, a także odpowiadać za stabilność całego produktu.
Menedżer Danych: Koordynuj wszystkie raporty dane i biznesowe, buduj centrum danych, wspieraj inteligentne operacje z danymi oraz zapewniaj wsparcie dla decyzji biznesowych i wyższego kierownictwa.
Architektura aplikacji
Architektura biznesowa
Architektura techniczna
Architektura technologiczna ewoluuje
Infrastruktura badawczo-rozwojowa
Automatyzacja operacji
Baza danych O&M
Infrastruktura rozproszona
1. Rozproszona platforma do harmonogramowania zadań
xxl-job służy do montowania zadań takich jak zadania tło/asynchroniczne, zapewniając, że niektóre zadania czasochłonne, zasobochłonne i czasowe są oddzielone od API oraz zapewnia stabilność interfejsów API.
2. Rozproszone centra obsługi
Eureka-Server do zunifikowanego zarządzania rejestracją usług, równoważeniem obciążenia, przełączaniem awaryjnym, wykrywaniem stanu i innymi usługami.
3. Rozproszone kolejki wiadomości
RocketMQ jest wykorzystywany do asynchronicznego rozdzielania usług, przekazywania wiadomości upstream i downstream oraz asynchronicznej komunikacji heterogenicznych usług.
4. Rozproszone centrum logów
ELK, do ujednoliconego zarządzania logami aplikacji, zapytaniami, statystykami itd.
5. Rozproszone usługi plików
Qiniu File Service, do przesyłania, pobierania plików, zarządzania cyklem życia, dynamicznego skalowania obrazów itd.
6. CDN
Tencent CDN, akceleracja sieci CDN dla obrazów, skryptów, CSS i innych plików, przyspieszająca pobieranie zasobów front-endowych.
7. Centrum konfiguracji rozproszonej
Apollo, do klasyfikacji konfiguracji, abstrakcji, wydawania w skali szarości itp. zarządzania wszystkimi projektami.
8. Oprogramowanie pośredniczące dla podziału baz danych i tabel
Sharding-JDBC służy do ochrony przed programistami biznesowymi i oddzielania baz danych oraz do rozdzielania szczegółów rozdziału master-slave read/write.
9. Wyszukiwanie usług
Elasticsearch, do wyszukiwania pełnotekstowego, dokumentów podobieństw (danych) zapytań biznesowych.
10. Rozproszone buforowanie
REDIS, który jest używany do rozproszonej pamięci podręcznej firmy, co przyspiesza szybkość zapytań firmy.
System monitorowania rozproszonego
1. Monitorowanie łańcucha połączeń
pinpoint, który służy do monitorowania i analizy relacji połączeń wszystkich usług, w tym (CPU, pamięci, czasu) wydajności itd. W przyszłości zostanie przeniesiony do skywalkingu.
2. Monitorowanie logów
ELK, do ujednoliconego zarządzania logami aplikacji, zapytaniami, statystykami itd.
3. Monitorowanie serwera
Zabbix, do monitorowania wydajności na poziomie systemu wszystkich serwerów Linuksa.
4. DB monitorowanie
PMM jest wykorzystywany do monitorowania wydajności, wolnych zapytań oraz analizy wszystkich internetowych baz danych MySQL.
5. Monitorowanie aplikacji (analiza wydajności)
CAT, który służy do analizy wszystkich łączy połączeń online w kierunku i w tył, czasochłonnej analizy wydajności baz danych i adresów URL, raportów analizy wydajności usług i serwerów, raportów monitorujących BSF oraz innych.
Rozproszone frameworki BSF
Cel: Lepiej wspierać rozwój biznesu, pozwolić deweloperom uwolnić się od middleware i skupić się na biznesie, aby poprawić efektywność rozwoju. Jednocześnie podstawowy framework centralizuje i optymalizuje usługi oraz wykorzystanie middleware, oferując deweloperom wysokowydajne i wygodniejsze podstawowe interfejsy i narzędzia, a praktyczny proces może zwiększyć efektywność dziesięciokrotnie.
Adres open source:Logowanie do linku jest widoczne.
Podstawowy framework BSF i biznes framework biznesowy są oddzielone, tak aby ogólny framework bazowy mógł zostać usunięty z rzeczywistej publicznej biblioteki biznesowej. Na podstawie BSF i Business zdefiniuj standardowe rusztowanie projektu csx-b2b-demo do szybkiego budowania usług projektowych.
Budowa podstawowych usług biznesowych
Porównaj istniejące architektury rynku usług
Architektura techniczna
Architektura biznesowa
przyszłość
- Struktura podziału usług biznesowych została odtworzona
- Big data i rozdział odczytu/zapisu
- AI dla biznesu
- Wsparcie BSF dla JDK17 i 21
- Silnik formowy i silnik procesowy
autor: Che Jiang Yi
2023-5-6
Zespół badawczo-rozwojowy Java dzieli się notatkami dotyczącymi architektury
Oryginał:Logowanie do linku jest widoczne.
|