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

OSCHINA-MIRROR/sofastack-sofa-boot

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

SOFABoot

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

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

SOFABoot — это открытое программное обеспечение на основе Java, основанное на Spring Boot.

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

Обзор

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

  • Отсутствует встроенный механизм изоляции классов для поддержки более модульных приложений.
  • Конфигурации логирования всех используемых SDK приложения повторяются.Чтобы решить вышеупомянутые проблемы, сохранив преимущества Spring Boot, компания Ant Group разработала SOFABoot на основе Spring Boot и сделала его открытым исходным кодом. В SOFABoot промежуточные слои 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. Все они упакованы как автономные "starter", предоставляющие соответствующие зависимости и независимо подключаемые.

Вклад

Мы любим вклады! Перед тем как сделать следующий шаг, пожалуйста, ознакомьтесь с вкладами в 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 TechnologyГаньцзян Мейя Информационные технологии Бандао Технолоджиз Шэнтонг Экспресс Шэньчжэнь Дацуо Бротчерс Культур Фэнхоу Технолоджиз Асиаинфо Технолоджиз Чэнду Юньчи Аль-роунд Технолоджиз Шанхай Яими Тьюторинг Тафу Технолоджиз Фэнъи Технолоджиз Ухань Йикиньян Юмидж медицинская компания Джиди Сяосянг Шэнсинь Пекин Юнзу Цза Циньйюнь Нэтворк Шаньдун Уанконг Шэньчжэнь НуансаивейUpward Software Шаньянгь Руаньчжань Чанша Дян Сань NetBar Yun Muzyka Хуюя Лайв Стриминг Китайская мобильная связь Уцзи Кэджи Золотой кошелёк Думубiao Нетворк Технолоджи Уэйси Пекинь Юле Технологи Йебао Пеймент Вэима Автомобили Йитонг Интернашнл Синьхуа Сань Килала Групп

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

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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