Об этом проекте

SEKIRO — это мультиязычная, распределённая, не зависящая от сетевой топологии платформа публикации сервисов. Разработчики пишут обработчики на своих языках программирования и публикуют эти возможности в центральный API-маркетплейс; бизнес-системы затем потребляют возможности удалённых узлов через RPC (удалённый вызов процедур). Позиционирование Проект описывает себя как RPC-фреймворк, но не обычный. Типичные бэкенд-фреймворки RPC (Dubbo, Spring Cloud, gRPC) декомпозируют сложные бизнес-модули и масштабируют узкие места одной машины на кластеры внутри дата-центра. SEKIRO вместо этого фокусируется на предоставлении возможностей из сред с ограниченным контекстом, где поставщик услуг работает в месте, неудобном для повторного развёртывания как обычного внутреннего сервиса, но бизнесу необходимо использовать эту возможность. Примеры сценариев, приведённые в README: - Алгоритмы шифрования, работающие внутри клиентской программы, где обратная разработка неполна; код можно внедрить через SEKIRO и опубликовать алгоритм как API. - Ограниченные данные, которые могут использоваться только внутри интранета организации (например, проверяются по исходному IP-адресу), в то время как внешние сервисы всё равно должны их вызывать. - Приложения или терминальные программы с возможностями, ориентированными на потребителя, которые B-end бизнес хочет переиспользовать, передавая параметры приложению как прокси (в индустрии краулеров это описывается как RPC-краулинг). - Защита возможностей сервиса, когда поставщик хочет, чтобы другие использовали возможность без передачи кода или раскрытия деталей машины, таких как IP-адреса. - Сложные вычислительные среды, которые сложно развернуть во внешних сервисах, размещаются как API в доступной среде и экспортируются. Основной рабочий процесс 1. Развёртывается центральный сервер (центральный сервис SEKIRO), чтобы и потребители, и поставщики могли подключаться. 2. Существуют клиенты на нескольких языках (Java, JavaScript, Python и других), реализующие связь с центральным сервером и обёртку API. 3. Пользователи пишут обработчики на своём языке, используя клиентский API SEKIRO, для приёма параметров и пересылки вызовов реальной локальной возможности. 4. Внешние пользователи вызывают API центрального сервиса, который пересылает соответствующему клиентскому обработчику и возвращает результат по исходному каналу. Сборка и запуск - Установите Java и Maven. - На Linux/Mac запустите скрипт `build_demo_server.sh`, чтобы получить `target/sekiro-open-demo.zip`. - Запустите `bin/sekiro.sh` или `bin/sekiro.bat`. - Документация доступна по адресу `http://127.0.0.1:5612/sekiro-doc` при локальном развёртывании. Ресурсы - Документация: http://sekiro.iinti.cn/sekiro-doc/ - Примеры кода на разных языках: https://github.com/yint-tech/sekiro-samples - Скачать установочный пакет: https://oss.iinti.cn/sekiro/sekiro-open - Быстрый старт: https://sekiro.iinti.cn/sekiro-doc/01_manual/1.quickstart.html В README также отмечается коммерческий сервис, предлагающий аутентификацию, управление API, распределённую кластеризацию, балансировку нагрузки и мультиязычность.