Техническое общение
Для удобства обсуждения и технического общения я создал группу в QQ. Добро пожаловать, присоединяйтесь!
QQ техническая группа: 528818161
Блог с учебными пособиями
В своём блоге я публикую серию статей с учебными материалами о том, как создать систему управления правами доступа Kitty с нуля.
Реализация системы управления правами доступа на Vue.js и Element UI (фронтенд) https://www.cnblogs.com/xifengxiaoma/p/9533018.html.
Реализация системы управления правами доступа с помощью Spring Boot и Spring Cloud (бэкенд) https://www.cnblogs.com/xifengxiaoma/p/9474953.html.
Описание веток
master: основная ветка для разработки, поддерживает распределённую архитектуру и управление сервисами (Spring Security + Spring Cloud).
dev: ветка разработки, регулярно объединяется с основной веткой master, поддерживает распределённую архитектуру и управление сервисами (Spring Security + Spring Cloud).
shiro-cloud: основана на Spring Boot, Shiro и Spring Cloud, поддерживает распределённую архитектуру и управление сервисами.
shiro: основана на Spring Boot и Shiro, не включает Spring Cloud, среда развёртывания немного проще.
idea: структура проекта IDEA, можно использовать эту ветку для быстрого импорта проекта в IDEA.
Введение в проект
Kitty — это платформа быстрой разработки на Java, основанная на Spring Boot, Spring Cloud, Vue и Element. Цель проекта — создать простое и удобное решение, которое поможет снизить сложность и стоимость разработки проектов. В моём блоге вы найдёте пошаговые инструкции по созданию аналогичных систем.
Список функций
✔ Система входа: вход пользователя в систему, аутентификация (с использованием токенов). ✔ Управление пользователями: создание, изменение, удаление и поиск пользователей. ✔ Управление организациями: создание, изменение, удаление и поиск организаций. ✔ Управление ролями: создание, изменение, удаление и поиск ролей. ✔ Управление меню: создание, изменение, удаление и поиск меню. ✔ Управление словарями: создание, изменение, удаление и поиск словарей. ✔ Журнал системы: запись действий пользователей, просмотр журнала выполнения системы. ✔ Мониторинг данных: настройка информации Druid, предоставление эффективного мониторинга SQL. ✔ Генерация документов: настройка онлайн-документов, предоставление красивых API-документов. ✔ Резервное копирование и восстановление: резервное копирование системы и быстрое восстановление начальных данных. ✔ Переключение тем: поддержка переключения тем, настройка собственных цветов тем, быстрая смена тем. ✔ Управление сервисами: интеграция с Consul для регистрации сервисов, реализация обнаружения и регистрации сервисов. ✔ Мониторинг сервисов: интеграция со Spring Boot Admin для мониторинга сервисов. ✔ Потребление сервисов: интеграция с Ribbon и Feign для вызова сервисов и балансировки нагрузки. ✔ Отказоустойчивость сервисов: интеграция с Hystrix и Turbine для обеспечения отказоустойчивости и мониторинга. ✔ Сервисный шлюз: интеграция с Spring Cloud Zuul для реализации шлюза API. ✔ Трассировка сервисов: интеграция с Sleuth и Zipkin для распределённой трассировки. ✔ Конфигурационный центр: интеграция с Config и Bus для создания распределённого конфигурационного центра. ✔ Генератор кода: предоставление генератора кода, максимальное сокращение объёма разработки кода. ✘ Единый вход: использование OAuth2 для предоставления единой функции входа. ✘ Система входа: интеграция сторонних функций входа (QQ, WeChat, Weibo). ...
Генератор кода
Генератор кода находится в отдельном проекте по адресу: https://gitee.com/liuge1988/kitty-generator.
Архитектура программного обеспечения
Бэкенд-архитектура
Среда разработки:
Выбор технологий:
Структура проекта:
kitty-common: общий код модуля, в основном содержит некоторые инструменты.
kitty-core: основной код модуля, в основном инкапсулирует общие бизнес-модули.
kitty-admin: бэкэнд-модуль управления, включая управление пользователями, ролями и меню.
kitty-backup: модуль резервного копирования данных системы, может быть развёрнут отдельно.
kitty-monitor: сервисный монитор, мониторинг сервисов Spring Boot.
kitty-producer: пример поставщика услуг, удобный для построения модулей на этой основе.
kitty-consumer: потребитель услуг, пример, удобный для построения модулей на этой основе.
kitty-hystrix: модуль отказоустойчивости сервисов, собирает и суммирует статистику отказов.
kitty-zuul: сервисный шлюз API, унифицированное управление и пересылка внешних запросов.
kitty-config: сервисный конфигурационный сервер, генерирует интерфейс доступа к конфигурации GIT.
kitty-consul: регистрационный центр, каталог установки, прилагается руководство по установке.
kitty-zipkin: отслеживание ссылок, каталог установки, прилагается руководство по установке.
config-repo: конфигурационный центр репозитория, централизованное хранение файлов конфигурации системы в GIT.
kitty-pom: агрегатный модуль, только для упрощения упаковки, выполняет упаковку всех модулей одним щелчком мыши.
Фронтенд-архитектура
Среда разработки:
Выбор технологий:
Структура проекта:
Руководство по установке
Установка бэкенда
Загрузите исходный код:
git clone https://gitee.com/liuge1988/kitty.git.
Импортируйте проект:
Импортируйте Maven-проект с помощью Eclipse, перед этим убедитесь, что у вас установлены JDK и Maven.
Скомпилируйте код:
Найдите файл pom.xml проекта kitty-pom, выполните команду mvn clean install, чтобы скомпилировать и упаковать его одним щелчком мыши. Как правило, проблем не возникает, но если компиляция всё равно не удалась, попробуйте скомпилировать по приоритету один за другим.
Импорт базы данных:
Создайте базу данных kitty, импортируйте скрипт doc/kitty.sql проекта kitty-admin в базу данных, импортируйте инициализацию базы данных.
Измените соединение с базой данных и пароль учётной записи в application.yml проекта kitty-admin на конфигурацию вашей собственной базы данных.
Измените подключение к базе данных и пароль учётной записи в приложении kitty-backup application.yml на конфигурацию вашей собственной базы данных.
Запустите систему:
Основные обязательные модули (регистрационный центр: kitty-consul, управление сервисами: kitty-monitor):
Найдите проект kitty-consul и установите регистрационный центр в соответствии с инструкциями по установке, после завершения выполните команду consul agent -dev, чтобы запустить его.
Найдите приложение KittyMonitorApplication в проекте kitty-monitor, запустите проект и включите мониторинг сервисов.
Модули управления разрешениями (управление разрешениями: kitty-admin, резервное копирование и восстановление: kitty-backup):
Найдите приложение KittyAdminApplication в проекте kitty-admin, запустите проект, включите систему управления разрешениями.
Найдите KittyBackupApplication.java в проекте kitty-backup, запустите проект, включите службу резервного копирования и восстановления.
После включения этих модулей система управления разрешениями уже может работать нормально, другие модули выбираются в зависимости от потребностей, а зависимости модулей можно найти в моих учебных пособиях...
Обратите внимание:
Если вам нужна служба отслеживания ссылок, вам необходимо установить zipkin, найти проект kitty-zipkin и установить его в соответствии с инструкцией по установке.
Если вам нужен конфигурационный сервис, вам нужно установить rabbitMQ, найти проект kitty-config и установить его в соответствии с инструкцией по установке.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )