Cola Cloud
Cola Cloud — это корпоративная платформа для разработки на основе микросервисной архитектуры, построенная с использованием Spring Boot и Spring Cloud. Она включает в себя интеграцию OAuth2 аутентификации, SMS-верификации входа, FlyWay управления версиями баз данных, Swagger агрегации всех сервисных API-документов через шлюз. Также она использует SpringBootAdmin для интеграции Hystrix и Turbine мониторинга. Платформа предоставляет инструменты для разработки пользовательского центра, управления правами, организации структуры данных, центра сообщений и уведомлений.
Рекомендация
[Cola-Auth]
Cola-Auth — это базовая структура для интернет-приложений, созданная с использованием SpringBoot2/SpringSecurity/SpringSession/SpringSocial/SpringSecurityOAuth2. Она обеспечивает аутентификацию, безопасность, авторизацию, поддержку различных методов входа (включая учётные данные, SMS-коды и социальные сети), а также интеграцию с платёжными системами, такими как Alipay, WeChat, QQ и WeChat Mini Program. Поддерживает веб- и мобильные приложения, что позволяет быстро создавать SSO и OpenAPI платформы.
Услуги
Проект | Номер | Название | Описание |
---|---|---|---|
cola-cloud-auth | auth-service | Служба аутентификации | Основана на SpringSecurity для обеспечения безопасности аутентификации и использует систему аутентификации OAuth2. Аутентифицирует и авторизует клиентов и пользователей. Поддерживает вход по учётным данным, SMS-кодам и социальным сетям. |
cola-cloud-config | config | Служба конфигурации | Построена на Spring Cloud для создания унифицированной службы конфигурации. Отвечает за управление конфигурационными файлами всех служб. |
cola-cloud-devtools | — | Инструменты разработки | Генератор кода для Cola. |
cola-cloud-gateway | gateway | Шлюзовая служба | Создана на базе Zuul для предоставления шлюзовых функций и балансировки нагрузки. Реализует статические маршруты. |
cola-cloud-monitor | monitor | Служба мониторинга | Интегрирована с Spring Boot Admin и включает Turbine и Hystrix для мониторинга состояния приложений и отслеживания вызовов сервисов. Также отслеживает сбои и контролирует прерывания. |
cola-cloud-message | message | Центр уведомлений | Общая служба уведомлений, поддерживающая системные сообщения, SMS, электронную почту и push-уведомления. |
cola-cloud-registry | registry | Реестр служб | Построен на Euraka для регистрации и обнаружения служб. |
cola-cloud-common | common-service | Базовая служба | Объединяет общие сервисы платформы Cola. |
cola-cloud-organization | organization-service | Организационная архитектура | Предоставляет услуги организационной структуры, сотрудников и должностей. |
cola-cloud-tenancy | tenancy-service | Сервис арендаторов | Предлагает услуги для арендаторов и их членов. |
cola-cloud-uc | uc-service | Пользовательский центр | Предоставляет сервисы для системных пользователей и регистрации. |
cola-cloud-upm | upm-service | Служба разрешений | Предоставляет роли, ресурсы и услуги авторизации. |
cola-cloud-notification | notification-service | Центр уведомлений | Использует RabbitMQ для асинхронной отправки SMS, электронной почты и сообщений WebSocket. |
Быстрый старт
git clone https://gitee.com/leecho/cola-cloud.git
# 注册中心 配置中心
127.0.0.1 registry api-gateway
# reids rabbitmq mysql
127.0.0.1 cola-redis cola-rabbitmq cola-mysql
//Конфигурация сервера имя пользователя
CONFIG_SERVER_USERNAME
//Конфигурация сервера пароль
CONFIG_SERVER_PASSWORD
//Регистрация сервера имя пользователя
REGISTRY_SERVER_USERNAME
//Регистрация сервера пароль
REGISTRY_SERVER_PASSWORD
//Мониторинг сервера имя пользователя
MONITOR_SERVER_USERNAME
//Мониторинг сервера пароль
MONITOR_SERVER_PASSWORD
//MYSQL имя пользователя
MYSQL_SERVER_USERNAME
//MYSQL пароль
MYSQL_SERVER_PASSWORD
//RabbitMQ имя пользователя
RABBITMQ_SERVER_USERNAME
//RabbitMQ пароль
RABBITMQ_SERVER_PASSWORD
//Redis имя пользователя
REDIS_SERVER_USERNAME
//Redis пароль
REDIS_SERVER_PASSWORD
Запуск служб:
Порядок запуска служб следующий: registry config auth-service uc-serivce upm-service organization-service gateway monitor
.
Registry должен запускаться первым, чтобы предоставлять интерфейсы для регистрации других служб.
Config запускается после registry и отвечает за предоставление информации о конфигурации другим службам. Если config не запущен, другие службы не могут работать.
Другие службы запускаются после config. При первом запуске проекта после запуска config следует запустить uc-service для инициализации данных.
Gateway запускается последним. Если gateway запускается до других служб, он может не иметь возможности проксировать к другим сервисам, но будет делать это через некоторое время.
Monitor можно запускать после config.
Доступ:
http://localhost:80/ — шлюзовая служба, уже объединяющая все сервисные документы Swagger.
http://localhost:8761/ — реестр служб, где можно просматривать информацию о регистрации служб.
http://localhost:8080/ — мониторинг служб, где можно отслеживать состояние работы служб.
curl -X POST \
http://api-gateway/uaa/oauth/token \
-H 'Cache-Control: no-cache' \
-H 'Postman-Token: 40aa591e-8518-4c1f-9e2d-f0c0e6151a40' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F username=admin \
-F password=111111 \
-F grant_type=password \
-F scope=ui
Базовые услуги
spring-cloud-starter-config
, которая автоматически настраивается в соответствии с соглашениями.
В ресурсах проекта необходимо настроить информацию о службе конфигурации, такую как адрес службы конфигурации, имена пользователей и пароли для доступа и т. д., в файле bootstrap.yml
в каталоге ресурсов:spring:
application:
name: message-service
cloud:
config:
uri: http://config:8888
fail-fast: true
security:
oauth2:
client:
clientId: server
clientSecret: server
accessTokenUri: http://auth-service:5000/uaa/oauth/token
grant-type: client_credentials
scope: server
``` **Сервис-шлюз**
```yml
zuul:
routes:
message-service:
path: /notifications/**
serviceId: message-service
stripPrefix: false
Центр регистрации
spring:
application:
name: message-service
cola:
sms: #短信配置
type: aliyun
aliyun:
access-key-id:
access-key-secret:
cola:
storage:
type: aliyun
oss:
access-key-id:
access-key-secret:
bucket-name:
endpoint:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )