40К+Звезда! Мемуары с открытым исходным кодом о реальном боевом проекте электронной коммерции Mall!

Spring Boot Java
40К+Звезда! Мемуары с открытым исходным кодом о реальном боевом проекте электронной коммерции Mall!

Резюме

Недавно я просмотрел свой Github и обнаружил, чтоmallПроект перевалил за 40K+Star, немного взволнован! Я помню прошлый августmallПроект только что прошел 20K+Star, и спустя более года он вырос до 40K+Star. Давай поговорим с тобой сегодняmallПроцесс разработки проекта, надеюсь всех вдохновит!

недавняя ситуация

На Github есть таблица лидеров Java Topic,mallНа данный момент проект находится на 9 месте, и многие друзья его уже открыли для себя.Вот адрес:github.com/topics/java

путь развития

Начальные 20K+Звезда

зачем писатьmallпроект? Создайте практичный проект, сочетающий бизнес и технологии!

В начале 2018 года я хотел найти проект с открытым исходным кодом, который сочетает в себе бизнес и технологии для обучения, но так и не нашел подходящего, поэтому мне пришла в голову идея написать его самому. Всегда кажется, что если в проекте не хватает бизнес-сценариев и сценариев применения, то кажется, что у него нет души. Так что бизнес выбрал хорошо известную электронную коммерцию, а технология выбрала популярную SpringBoot. Это продолжалось больше года, в августе 2019 г.mallПроект набрал 20K+Star, и я написал статью раньше«Мой проект с открытым исходным кодом на Github, от 0 до 20000 звезд! 》, подытожил процесс развития проекта в том году, можете глянуть, если интересно.

Серия руководств по SpringCloud

Когда проект развивается до определенного уровня, он всегда будет искать какие-то новые прорывы, поэтому хочу поставитьmallПроект трансформируется в микросервисную версию. В системе Java Spring Cloud в основном стал стандартом для микросервисов. Поэтому я хочу сначала изучить весь набор компонентов Spring Cloud, а потом уже делать трансформацию. В ходе исследования я написал серию руководств, посвященных использованию основных компонентов крупных развертываний, а именноspringcloud-learningЭтот проект в настоящее время получил 2,2K+Star.

микросервисный проект mall-swarm

После освоения всего набора основных компонентов Spring Cloud следующим шагом будетmallПроект претерпевает микросервисную трансформацию. После периода шлифовки,mall-swarmПроект выпустил свою первую версию в декабре 2019 года. недавнийmall-swarmПроект претерпел еще одно крупное обновление, обновленное до Spring Cloud Hoxton & Alibaba, с использованием Nacos для замены исходного центра регистрации Eureka и центра конфигурации Spring Cloud Config, а также с использованием Oauth2 для замены функции авторизации, реализованной в оригинальной Spring Security, которая, похоже, быть наиболее разумным в настоящее время Стек технологий Spring Cloud отсутствует.

Торговый центр обновлен и улучшен

В этом году в проекте торгового центра было обновлено много контента, вот обзор ключевых моментов!

  • Методы развертывания Linux, которые использовались ранее, в основномDockerиDocker ComposeДва, добавлено позжеJenkinsАвтоматическое развертывание удобно для производственных сред.
  • Много отзывов от друзейOSSХранилище объектов стоит денег, поэтому я добавил самодельныйMinIOРешение для хранения объектов, но OSS по-прежнему рекомендуется для производственных сред, в конце концов, пропускная способность сервера все еще очень дорогая!
  • Реализована функция управления разрешениями, которая была очень востребована.Использовавшийся ранее контроль разрешений на основе аннотаций был модернизирован до динамического контроля разрешений, как во внешнем, так и в бэкэнде!
  • Разработка и оптимизация функций SKU продукта, отказ от предыдущей твердой конструкции и переход на гибкое хранилище JSON.
  • Он интегрирует систему сбора логов ELK и принимает схему сбора логов в разных сценариях, что подходит для использования в производственных средах, и просматривать логи удобнее!
  • Недавно обновленный SpringBoot 2.3.0, различные используемые версии технологий выглядят по-новому!

торговый центр-маленькие строительные леса быстрого развития

mall-tinyбыл унаследованmallСкелет проекта полного стека технологий, я чувствую, что он зависит от слишком большого количества сервисов и слишком сложен. На этот раз я перепозиционировал его как основу для быстрой разработки, упростив сложность и оставив только наиболее часто используемые зависимые службы MySQL и Redis. Более того, он реализовал полную функцию управления правами, которую можно подключитьmall-admin-webИнтерфейсные проекты, меняйте систему управления полномочиями за считанные секунды!

торговый центр-администратор-веб-интерфейсный проект

mall-admin-webИнтерфейсный проект в основном добавляет функцию управления разрешениями, вот напоминаниеmall,mall-swarm,mall-tinyВсе проекты можно без проблем подключить к проекту, разве это не очень распространено!

обучающий проект в торговом центре

mall-learningпроект вmallНа протяжении всего развития проекта это всегда реализовывалось. С хорошо зарекомендовавшими себя учебными пособиями это может бытьmallПроект сильно отличается от других проектов с открытым исходным кодом,mall-learningПроект специально дляmallПроект обучающего руководства, созданный проектом, содержит обширную документацию и пример кода. Я всегда использую этот способ для обновления проектов, сначала изучаю новые технологии, вmall-learningЭто можно рассматривать как техническое исследование все время, если технология подходит, она будет применяться кmallк проекту. Я чувствую, что этот метод все еще очень хорош, не только для углубленного изучения новых технологий, но и для практического применения, каждый может попробовать его при изучении новых технологий.

перспективы на будущее

ЧувствоватьmallС момента разработки проекта, это не просто проект с открытым исходным кодом, он разработал собственную экосистему, которую можно назватьmallсерия экология.mallПроект будет продолжать обновляться в будущем и стремиться создать лучший практический учебный проект!

адрес проекта