Latar Belakang Perusahaan:
Perusahaan mengumpulkan 1 miliar yuan dan mendivestasi segmen bisnis makanan segar B2B untuk beroperasi sebagai perusahaan independen. Selain beberapa manajer produk inti, operasi, dan peran pengadaan, tim R&D telah ditata ulang, dan satu set lengkap platform rantai pasokan telah dibangun kembali untuk mendukung ekspansi bisnis skala besar. Ada sekitar 70 gudang di seluruh negeri (termasuk gudang front-end, gudang transit dan gudang fisik), yang sebenarnya telah mencapai 10 miliar skala bisnis (pendapatan) dan diperkirakan akan mencapai 100 miliar skala bisnis.
Skala R&D
Ukuran tim R&D direncanakan sekitar 100 orang pada tahap awal (dalam waktu sekitar 6 bulan), dan akan tumbuh menjadi hampir 180 orang pada tahap selanjutnya;
Organisasi R&D mengadopsi manajemen struktur matriks, termasuk grup keuangan, grup pabrik, grup pergudangan, grup pembelian, grup bisnis penjualan B besar, grup bisnis penjualan B kecil, grup analisis data, dan grup arsitektur.
Direktur Produk: Bertanggung jawab dan mengoordinasikan pengelolaan semua personel produk, bertanggung jawab atas seluruh produk, proses, penggunaan, dan pengalaman;
Manajer Proyek: Mengoordinasikan semua jadwal proyek dan alokasi sumber daya personel R&D, dan bertanggung jawab atas kemajuan R&D dan pengiriman seluruh produk.
Kepala Arsitek: Mengoordinasikan semua arsitektur teknis, mendukung semua teknologi proyek dan penggunaan bisnis, membangun kantor tengah teknis dan mendukung evolusi teknologi dan O&M, dan bertanggung jawab atas stabilitas seluruh produk.
Manajer Data: Mengoordinasikan semua data dan laporan bisnis, membangun pusat data, mendukung operasi data cerdas, dan memberikan dukungan data untuk keputusan bisnis dan manajemen senior.
Arsitektur aplikasi
Arsitektur bisnis
Arsitektur teknis
Arsitektur teknologi berkembang
Infrastruktur R&D
Otomatisasi operasi
Database O&M
Infrastruktur terdistribusi
1. Platform penjadwalan tugas terdistribusi
xxl-job digunakan untuk memasang tugas seperti tugas latar belakang/asinkron, memastikan bahwa beberapa tugas yang memakan waktu, memakan sumber daya, dan waktu dipisahkan dari API, dan memastikan stabilitas API front-end.
2. Pusat layanan terdistribusi
eureka-server untuk manajemen terpadu pendaftaran layanan, penyeimbangan beban, failover, deteksi kesehatan, dan layanan lainnya.
3. Antrean pesan terdistribusi
RocketMQ digunakan untuk pemisahan layanan asinkron, penerusan pesan hulu dan hilir, dan komunikasi asinkron layanan heterogen.
4. Pusat log terdistribusi
elk, untuk manajemen terpadu log aplikasi, kueri, statistik, dll.
5. Layanan file terdistribusi
Layanan File Qiniu, untuk mengunggah file, mengunduh, manajemen siklus hidup file, penskalaan gambar dinamis, dll.
6. CDN
Tencent CDN, akselerasi jaringan CDN untuk gambar, skrip, CSS, dan file lainnya, mempercepat kecepatan unduh sumber daya front-end.
7. Pusat konfigurasi terdistribusi
Apollo, untuk klasifikasi konfigurasi, abstraksi, rilis skala abu-abu, dll. manajemen semua proyek.
8. Middleware untuk subdivisi database dan tabel
Sharding-JDBC digunakan untuk melindungi sharding database dan sharding tabel dari pengembang bisnis, dan membagi detail pemisahan baca/tulis master-slave.
9. Cari layanan
elasticsearch, untuk pencarian teks lengkap, dokumen kesamaan (data) kueri bisnis.
10. Caching terdistribusi
redis, yang digunakan untuk cache terdistribusi bisnis, sehingga mempercepat kecepatan kueri bisnis.
Sistem pemantauan terdistribusi
1. Pemantauan rantai panggilan
pinpoint, yang digunakan untuk memantau dan menganalisis hubungan panggilan semua layanan, termasuk kinerja (CPU, memori, waktu), dll. Di masa depan, itu akan dimigrasikan ke skywalking.
2. Pemantauan log
elk, untuk manajemen terpadu log aplikasi, kueri, statistik, dll.
3. Pemantauan server
Zabbix, untuk pemantauan kinerja di tingkat sistem semua server Linux.
4. DB pemantauan
PMM digunakan untuk catatan pemantauan kinerja, kueri lambat, dan analisis lain dari semua database MySQL online.
5. Pemantauan Aplikasi (Analisis Kinerja)
CAT, yang digunakan untuk analisis semua tautan panggilan maju dan mundur online, analisis kinerja database dan URL yang memakan waktu, laporan analisis kinerja layanan dan server, laporan pemantauan yang dikembangkan sendiri oleh BSF, dll.
Kerangka kerja terdistribusi BSF
Tujuan: Untuk mendukung pengembangan bisnis dengan lebih baik, biarkan pengembang membebaskan diri dari middleware dan fokus pada bisnis untuk meningkatkan efisiensi pengembangan. Pada saat yang sama, kerangka kerja dasar memusatkan dan mengoptimalkan layanan dan penggunaan middleware, menyediakan antarmuka dan alat layanan dasar berkinerja tinggi dan lebih nyaman, dan proses praktis dapat meningkatkan efisiensi hingga 10 kali lipat.
Alamat Sumber Terbuka:Login hyperlink terlihat.
Kerangka kerja yang mendasari BSF dan bisnis kerangka kerja bisnis dipisahkan, sehingga kerangka kerja umum yang mendasari dapat dilucuti dari perpustakaan bisnis publik yang sebenarnya. Berdasarkan BSF dan Bisnis, tentukan perancah proyek standar csx-b2b-demo untuk membangun layanan proyek dengan cepat.
Konstruksi layanan dasar bisnis
Bandingkan arsitektur pasar layanan yang ada
Arsitektur teknis
Arsitektur bisnis
masa depan
- Struktur split layanan bisnis direkonstruksi
- Big data dan pemisahan baca/tulis
- AI untuk bisnis
- Dukungan BSF untuk JDK17 dan 21
- Mesin bentuk dan mesin proses
oleh Che Jiang Yi
2023-5-6
Arsitektur internal tim R&D Java berbagi catatan
Asli:Login hyperlink terlihat.
|