프로젝트 소개

SEKIRO는 다국어, 분산, 네트워크 토폴로지에 독립적인 서비스 게시 플랫폼입니다. 개발자는 자신이 선호하는 프로그래밍 언어로 핸들러를 작성하고 해당 기능을 중앙 API 마켓플레이스에 게시하며, 비즈니스 시스템은 RPC(원격 프로시저 호출)를 통해 원격 노드 기능을 소비합니다. 위치 이 프로젝트는 자체적으로 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. 사용자는 SEKIRO 클라이언트 API를 사용하여 해당 언어로 핸들러를 작성하고, 매개변수를 수락하며 호출을 실제 로컬 기능으로 전달합니다. 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 관리, 분산 클러스터링, 로드 밸런싱 및 다국어 기능을 제공하는 상용 서비스도 언급합니다.