Предыстория компании:
Компания привлекла 1 миллиард юаней и продала сегмент B2B по производству свежих продуктов, чтобы работать как независимая компания. Помимо некоторых основных менеджеров продукта, операционных и закупочных ролей, команда исследований и разработок была реорганизована, а полный набор платформ цепочки поставок перестроен для поддержки крупномасштабного расширения бизнеса. По всей стране насчитывается около 70 складов (включая фронт-энд, транзитные и физические склады), которые фактически достигли 10 миллиардов бизнес-масштабов (доход) и, как ожидается, достигнут 100 миллиардов бизнес-масштабов.
Масштаб исследований и разработок
Ожидается, что команда НИОКР составит около 100 человек на ранней стадии (примерно в течение 6 месяцев), а на позднем этапе она вырастет почти до 180 человек;
Организация НИОКР использует управление матричной структурой, включая финансовую группу, фабричную группу, складскую группу, закупочную группу, бизнес-группу крупных B, малую B-группу продаж, группу анализа данных и архитектурную группу.
Директор по продукту: отвечает за управление и координирует управление всем персоналом продукта, отвечает за весь продукт, процесс, использование и опыт;
Менеджер проекта: Координировать все графики проектов и распределение кадров для НИОКР и нести ответственность за прогресс и реализацию всего продукта в НИОКР.
Главный архитектор: координировать все технические архитектуры, поддерживать все проектные технологии и бизнес-использование, строить технический центр и поддерживать эволюцию технологий и эксплуатацию и эксплуатацию, а также отвечать за стабильность всего продукта.
Менеджер данных: координировать все данные и бизнес-отчёты, строить дата-центр, поддерживать интеллектуальные операции с данными и обеспечивать поддержку по решению бизнеса и высшего руководства.
Архитектура приложений
Бизнес-архитектура
Техническая архитектура
Архитектура технологий эволюционирует
Инфраструктура исследований и разработок
Автоматизация операций
База данных O&M
Распределённая инфраструктура
1. Распределённая платформа планирования задач
xxl-job используется для установки задач, таких как фоновые и асинхронные задачи, что обеспечивает отделение некоторых трудоёмких, ресурсоёмких и таймерных задач от API и стабильность фронтенд-API.
2. Распределённые сервисные центры
EUREKA-Server для унифицированного управления регистрацией сервисов, балансировки нагрузки, резервирования, обнаружения состояния и других сервисов.
3. Распределённые очереди сообщений
RocketMQ используется для асинхронного разделения сервисов, пересылки сообщений вверх и вниз, а также асинхронной связи гетерогенных сервисов.
4. Распределённый лог-центр
ELK — для единого управления журналами приложений, запросами, статистикой и т.д.
5. Распределённые файловые сервисы
Qiniu File Service — для загрузки, загрузки файлов, управления жизненным циклом файлов, динамического масштабирования изображений и т.д.
6. CDN
Tencent CDN, CDN-ускорение для изображений, скриптов, CSS и других файлов, ускоряет скорость загрузки фронтенд-ресурсов.
7. Распределённый центр конфигурации
Apollo — для классификации конфигурации, абстракции, выпуска в оттенках серого и т.д. управления всеми проектами.
8. Промежуточное ПО для разделения баз данных и таблиц
Шардинг-JDBC используется для защиты шардинга баз данных и таблиц от бизнес-разработчиков, а также для разделения деталей разделения чтения и записи между мастером и слейвом.
9. Поиск услуг
ElasticSearch, для полнотекстового поиска, бизнес-запросов по документам сходства (данные).
10. Распределённое кэширование
Redis, который используется для распределённого кэша бизнеса, ускоряя скорость запросов в бизнесе.
Распределённая система мониторинга
1. Мониторинг цепочки вызовов
Pinpoint, который используется для мониторинга и анализа связей вызовов всех сервисов, включая производительность (CPU, память, время) и т.д. В будущем это будет перенесено на skywalking.
2. Мониторинг журналов
ELK — для единого управления журналами приложений, запросами, статистикой и т.д.
3. Мониторинг серверов
Zabbix, для мониторинга производительности на системном уровне всех серверов Linux.
4. DB мониторинг
PMM используется для мониторинга записей производительности, медленных запросов и других исследований всех онлайн-баз данных MySQL.
5. Мониторинг приложений (анализ производительности)
CAT, который используется для анализа всех онлайн-переадресативных и обратных звонков, трудоёмкого анализа производительности баз данных и URL, отчётов об эффективности сервисов и серверов, самостоятельно разработанных мониторинговых отчетов BSF и др.
Распределённый фреймворк BSF
Цель: Чтобы лучше поддерживать развитие бизнеса, дать разработчикам возможность освободиться от промежуточного ПО и сосредоточиться на бизнесе для повышения эффективности разработки. В то же время базовый фреймворк централизирует и оптимизирует сервисы и использование промежуточного ПО, предоставляя разработчикам высокопроизводительные и более удобные интерфейсы и инструменты базовых сервисов, а практический процесс может повысить эффективность в 10 раз.
Открытый исходный код:Вход по гиперссылке виден.
Базовый фреймворк BSF и бизнес-фреймворк разделяются, чтобы общий фреймворк можно было убрать из реальной публичной бизнес-библиотеки. Основываясь на BSF и бизнесе, определите стандартный проект csx-b2b-demo для быстрого построения проектных сервисов.
Строительство базовых услуг для бизнеса
Сравните существующие архитектуры рынка услуг
Техническая архитектура
Бизнес-архитектура
будущее
- Структура разделения бизнес-услуг реконструируется
- Разделение больших данных и чтение/записи
- ИИ для бизнеса
- Поддержка BSF для JDK17 и 21
- Двигатель формы и процессный двигатель
Чэ Цзян И
2023-5-6
Обмен заметками по внутренней архитектуре команды Java R&D
Исходный текст:Вход по гиперссылке виден.
|