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

OSCHINA-MIRROR/mirrors-SOFABoot

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

SOFABoot

Сборка и тестирование Статус покрытия лицензия Среднее время решения проблемы Процент открытых проблем maven

Китайская версия

SOFABoot — это открытое Java-решение на основе Spring Boot.

Предоставляются различные улучшения, такие как проверка готовности приложения, изоляция контекста Spring, изоляция классов, разделение пространства логов и т. д. Кроме того, SOFABoot обеспечивает более комфортную и плавную интеграцию с SOFAStack middleware для разработчиков, работающих в мире Spring Boot.

Обзор

Spring Boot делает создание автономных, производственных приложений на основе Spring простым и удобным. Однако остаются некоторые доменные вопросы:- Spring Boot предоставляет индикаторы состояния для отображения живости приложения, но не готовности (то есть способности обслуживать запросы).

  • Отсутствует встроенная схема изоляции классов для поддержки более модульных приложений.
  • Конфигурации логирования всех SDK, используемых приложением, повторно устанавливаются.Чтобы решить вышеупомянутые проблемы, сохранив преимущества Spring Boot, Ant Group разработала SOFABoot на основе Spring Boot и сделала её открытым исходным кодом. В SOFABoot middleware SDK SOFAStack упакованы как самостоятельные "стартеры", предоставляющие соответствующие зависимости по аспектам или функциональностям.

Быстрый старт

Для получения руководства по быстрому началу работы с SOFABoot обратитесь к документации SOFAStack на странице Быстрый старт SOFABoot.

Демо-примеры

Некоторые демонстрационные проекты SOFABoot для знакомства с ними:

Функциональность

Для расширения возможностей развертывания крупномасштабных микросервисов в производственной среде для Spring Boot, SOFABoot предлагает следующие улучшения:### Проверка готовности Если трафик запросов достигает экземпляра сервиса до его полной инициализации, запросы могут быть отклонены по таймауту или исключениям. Хотя индикаторы состояния Spring Boot являются практичным способом реального времени для отслеживания здоровья приложения, они не помогают определить момент доступности сервисов. Поэтому проверка готовности является неотъемлемой частью автоматизации развертывания в производственной среде, и SOFABoot предоставляет проверку готовности для приложений из коробки. Для надежного запуска приложений все службы SOFAStack middleware не будут раскрывать себя (например, публикация RPC-сервисов в регистр сервисов) до тех пор, пока проверка готовности не будет пройдена.Платформа PaaS также может использовать результат проверки готовности через URL http://localhost:8080/actuator/readiness для управления внешним трафиком, таким как шлюз или балансировщик нагрузки.

Изоляция классов

Создан для решения конфликтов классов или зависимостей, SOFAArk. В отличие от громоздкой реализации изоляции классов OSGi, SOFAArk представляет собой легковесное решение, сосредоточенное на моменте загрузки классов между приложением и модулями middleware. Кроме того, легко интегрировать сторонние SDK в модуль SOFAArk благодаря высокой расширяемости SOFAArk.

Подробнее см. в документации SOFAArk.

Изоляция контекста Spring

Две популярные формы модульности в мире Java:

  1. Модульность на основе организации кода: различные функциональные коды организованы в отдельных Java-проектах и упакованы в разных JAR-файлах. Все Java-классы загружаются одним и тем же загрузчиком классов при выполнении.
  2. Модульность на основе загрузчика классов: каждый модуль имеет свой загрузчик классов и пути загрузки классов между различными модулями различаются.SOFABoot предлагает третий вариант с уровнем модульности между двумя вышеперечисленными, который основан на контексте Spring. Разные модули имеют собственные уникальные контексты Spring, и все контексты образуют простое дерево зависимостей. Решение зависимостей происходит по пути до корня дерева. Очевидно, что конфликты между модулями по поводу бинов и конфигураций избегаются, а взаимодействие между командами при многомодульном разработке предприятия уровня значительно снижается. Дополнительные сведения о модульной структуре SOFABoot представлены в этой статье.### Единое логирование В Spring Boot ответственность за конфигурацию логирования возложена на пользователей: все пользователи определенного SDK должны настроить его логирование, но конфигурации в большинстве случаев одинаковы. Чтобы избежать повторной настройки, SOFABoot использует sofa-common-tools для предоставления базовых конфигураций логирования для каждого SDK. Пользователям больше не нужно беспокоиться о логировании SDK. Кроме того, каждый SDK имеет отдельную директорию логирования для разделения его от логов приложения, что помогает удобному мониторингу на основе логирования.

Встроенные middleware SOFAStack

На основе автоматической настройки и описания зависимостей (также известного как starter) в Spring Boot, SOFABoot предлагает удобный программный интерфейс для всех middleware SOFAStack. Все они упакованы как автономные "starters", предоставляющие соответствующие зависимости и независимо подключаемые.

Вклад

Мы любим вклады! Перед тем как предпринять дальнейшие шаги, пожалуйста, ознакомьтесь с вкладами в SOFABoot.

SOFABoot компилируется под JDK 17 в настоящее время и требует Apache Maven 3.5.4 или более поздней версии.

Сообщество

См. материалы нашего сообщества здесь.### Связаться с нами См. способ связи с сообществом

Благодарности

Первая версия SOFA создана Феликсом (Ань), большое спасибо Феликсу за заложенную основу для SOFA. Также мы очень благодарны людям, которые внесли свой вклад в развитие SOFA.

Лицензия

Ant Group SOFABoot распространяется под лицензией Apache License, версия 2.0. Лицензии сторонних зависимостей SOFABoot объясняются здесь.

Знаменитые пользователи

Пользователи SOFABoot (имена расположены в произвольном порядке). Пожалуйста, оставьте комментарий здесь, чтобы рассказать нам о вашей сценарии использования, что поможет сделать SOFABoot лучше.

Анти集团股份有限公司 网商银行 恒生电子 数立信息 Paytm 天弘基金 中国人民保险 信美人寿相互保险 南京银行 民生银行 重庆农村商业银行 中信证券 富滇银行 挖财 拍拍贷 OPPO金融 运满满
Yizhu TechnologyHangzhou Meya Information Technology Bangdao Technology Shentong Express Shenzhen Datou Brothers Culture Fenghuo Technology Aisino Technology Chengdu Yunzhi Xiaotian Technology Shanghai Yimi Tutoring Taifu Technology Fengyi Technology Wuhan YiQiying Zhiji Medical JD. com Смай Шэнсинь Пекинь Юнцзу Жиянь Синьйиьюнь Нэтворк Шаньдунь Ванконг Шэньчжень НуансуайUpward Software Shangyang Software Changsha Dian San NetEase Cloud Music Huya Live Streaming China Mobile Paperless Technology Gold Wallet Dumubiao Network Wueasy Beijing Youle Technology YeePay Payment WM Motor Yitong International New H3C Kilala Group

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

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

Введение

SOFABoot — это открытая библиотека от蚂蚁金服, основанная на Spring Boot, которая предоставляет фреймворк для разработки. Она включает в себя функции, такие как проверка готовности (Readiness Check), изоляция классов, изоляция пространства логов, и другие дополнительные возможности на основе Spring Boot. SOFABoot — это открытая библиотека от Ant Fi... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

Язык

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

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