1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/g250609148-EASY-MS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

EASY-MS

EASY-MS — это основанная на Spring Cloud, Spring Boot и Mybatis структура для расширения функциональности микросервисов. Она характеризуется компонентностью, высокой производительностью и богатством функций. Код является кратким, архитектура — чёткой, компоненты можно свободно комбинировать, следуя стандартам разработки Alibaba, что позволяет использовать её в качестве основы для разработки серверных служб.

Основная цель — позволить разработчикам писать меньше кода для быстрого создания мощных микросервисных приложений, используя идею разделения бизнес-кода и технического кода, делая проект более лаконичным, структуру — более чёткой, разработку — более простой, а быструю разработку — ещё более быстрой.

Компоненты

  • easy-ms: компонент интеграции;
  • easy-ms-common: базовый компонент зависимостей;
  • easy-ms-datasource: компонент расширения источника данных;
  • easy-ms-logging: компонент расширения логирования;
  • easy-ms-rest: компонент расширения REST-интерфейса;
  • easy-ms-mq: компонент расширения MQ;
  • easy-ms-redis: компонент расширения Redis.

Другие компоненты, такие как интерфейс, разрешения и часть общего кода, содержат конфиденциальный код компании и пока не открыты. В будущем они могут быть выделены отдельно или напрямую зависеть от других интерфейсных фреймворков.

Описание компонентов

Базовый компонент зависимостей

Особенности:

  1. Подробнее см. здесь.

Компонент расширения источника данных

Особенности:

  1. Поддержка одного или нескольких источников данных, каждый из которых поддерживает многоуровневую структуру мастер-ведомый;
  2. Простая конфигурация, значительно упрощающая настройку источника данных и предоставляющая глобальные параметры конфигурации;
  3. Поддержка балансировки нагрузки, включая основные стратегии балансировки нагрузки, удовлетворяющие большинству сценариев и максимально повышающие коэффициент использования базы данных;
  4. Поддержка высокой доступности, автоматическое удаление базы данных при сбое соединения из-за сбоя базы данных во время балансировки нагрузки;
  5. Поддержка аварийного переключения, автоматический переход на другую базу данных при возникновении проблем с подключением к текущей базе данных во время выполнения SQL;
  6. Поддержка динамического добавления, изменения и удаления источников данных во время работы приложения;
  7. Поддержка распределённых транзакций для нескольких источников данных в сочетании с транзакционными аннотациями Spring @Transactional или программным управлением транзакциями;
  8. Поддержка регистрации медленных SQL-запросов, возможность включения и выключения по желанию, настройка времени медленного SQL, отображение в реальном времени на странице;
  9. Поддержка мониторинга всех источников данных, подробное отображение текущих выполняемых SQL-операторов каждого источника данных, включая время использования, количество выполненных операций, количество обрабатываемых операций и т. д.;
  10. Интеграция PageHelper для разбиения на страницы и использование асинхронного запроса общего количества, значительное улучшение производительности;
  11. Возможность указания имени источника данных и определения того, следует ли принудительно выбирать основной или ведомый источник данных с помощью аннотаций или ручного программирования;
  12. Поддержка пакетной обработки, позволяющая выполнять массовые операции в XML-файлах MyBatis аналогично SQL, упрощая управление SQL и делая код более кратким и простым в использовании, обеспечивая высокую эффективность и поддержку пакетных транзакций;
  13. Строгий контроль над операциями вставки, обновления и удаления, требующий обязательного использования основного источника данных для снижения риска ошибок, вызванных неправильным кодом разработчика;
  14. Не требует внедрения таких промежуточных программ, как Mycat, но обладает всеми функциями Mycat и более гибким использованием, чем Mycat, с более разнообразными сценариями использования и более простой архитектурой, чем Mycat;
  15. Может быть внедрён в существующие проекты Spring Boot или Spring MVC без Easy-Ms. Подробнее см. здесь.

Компонент расширения логирования

Особенности:

  1. Использование двухуровневого асинхронного механизма, который значительно повышает производительность при сохранении низкого потребления памяти;
  2. Применение собственной очереди без блокировки, которая обеспечивает безопасность потоков и упорядоченность очередей при высоком уровне параллелизма;
  3. Повторное использование объектов журнала, что значительно снижает потребление памяти при высоком уровне параллелизма;
  4. Оптимизация логики печати журналов, уменьшение количества операций ввода-вывода при высоком уровне параллелизма и повышение производительности вывода журналов;
  5. Переписывание части преобразователей журналов (например, преобразователи дат и т.д.), что значительно ускоряет скорость преобразования журналов при высоком уровне параллелизма;
  6. Совместимость с Logback (поддерживает все версии) и commons-logging, может поддерживать расширение других фреймворков;
  7. Поддержка онлайн-переключения в реальном времени (требуется использование центра конфигурации), возможность переключения в режиме реального времени, чтобы включить или отключить асинхронный фреймворк логирования во время работы приложения;
  8. Онлайн-мониторинг в реальном времени, позволяющий просматривать статус переключателя и асинхронного фреймворка логирования в реальном времени;
  9. Может быть интегрирован в существующие проекты Spring Boot или Spring MVC без Easy-Ms. Подробнее см. здесь.

Компонент расширения REST-интерфейсов

Особенности:

  1. Стандартизация интерфейсов REST, упрощение разработки и улучшение структуры кода;
  2. Поддержка глобального шифрования интерфейса и индивидуального шифрования интерфейса;
  3. Поддержка ограничения потока интерфейса с использованием Sentinel от Alibaba;
  4. Возможность настройки класса ответа;
  5. Поддержка распределённой блокировки интерфейса (требует зависимости от easy-ms-redis);
  6. Оптимизированная обработка запросов и ответов, обеспечивающая лучшую производительность;
  7. Интеграция Swagger, переписывание пользовательского интерфейса Swagger для предоставления более богатых функций, чем Swagger UI;
  8. Поддержка отладки в реальном времени для более удобного и быстрого процесса отладки. Подробнее см. здесь..

Компонент MQ-расширения

Особенности:

  1. Поддерживает отправку одной записи и пакета записей (производитель объединяет несколько записей в одну запись, потребитель разделяет несколько записей на одну запись или пакет записей);
  2. Поддерживает кэширование сообщений MQ, позволяя в реальном времени запрашивать информацию о производстве и потреблении, автоматически архивируя успешные сообщения через 5 дней;
  3. Поддерживает повторную отправку и потребление сообщений MQ после сбоя, с уведомлением о сбое;
  4. Поддерживает ActiveMQ и RocketMQ. Подробнее см. здесь..

Компонент Redis-расширения

Особенности:

  1. Позволяет добавлять префиксы (полезно при совместном использовании одного Redis несколькими системами);
  2. Использует аннотации для повышения эффективности разработки, стандартизации разработки и предотвращения ошибок разработчиков;
  3. Обеспечивает централизованное управление, позволяя в реальном времени просматривать все ключи Redis в использовании на странице, предотвращая сбой системы при использовании ключей для запроса всех ключей;
  4. Поддерживает распределённую блокировку (используя Lua-скрипты для предотвращения взаимоблокировок). Подробнее см. здесь..

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Easy-Ms — это микросервисный фреймворк для расширения функций, основанный на Spring Cloud, Spring Boot и Mybatis. Он отличается компонентной структурой, высокой производительностью и богатым функционалом. Код фреймворка лаконичен, архитектура понятна, а компоненты можно свободно комбинировать. Easy-Ms соответствует стандартам разработки компании... Развернуть Свернуть
Java и 6 других языков
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/g250609148-EASY-MS.git
git@api.gitlife.ru:oschina-mirror/g250609148-EASY-MS.git
oschina-mirror
g250609148-EASY-MS
g250609148-EASY-MS
develop-1.8.5