À propos du projet

SEKIRO est une plateforme de publication de services multi-langages, distribuée et indépendante de la topologie réseau. Les développeurs écrivent des handlers dans leurs propres langages de programmation et publient ces capacités sur un marché d'API central ; les systèmes métier consomment ensuite les capacités des nœuds distants via RPC (Remote Procedure Call). Positionnement Le projet se décrit comme un framework RPC, mais pas un framework conventionnel. Les frameworks RPC backend typiques (Dubbo, Spring Cloud, gRPC) décomposent des modules métier complexes et font évoluer les goulots d'étranglement d'une seule machine à travers des clusters au sein d'un centre de données. SEKIRO se concentre plutôt sur l'exposition de capacités depuis des environnements contextuels restreints, où un fournisseur de services s'exécute dans un endroit peu pratique pour être redéployé comme un service interne normal, mais où le métier a besoin d'utiliser cette capacité. Exemples de scénarios donnés dans le README : - Algorithmes de chiffrement exécutés dans un programme client où la rétro-ingénierie est incomplète ; le code peut être injecté via SEKIRO et l'algorithme publié comme API. - Données restreintes qui ne peuvent être utilisées qu'à l'intérieur de l'intranet d'une organisation (par exemple, vérifiées par adresse IP source), tandis que des services externes doivent encore les appeler. - Programmes d'application ou terminaux avec des capacités orientées consommateur que le métier B-end souhaite réutiliser, en transférant les paramètres à l'application comme proxy (décrit comme du crawling RPC dans l'industrie des crawlers). - Protection des capacités de service, où un fournisseur veut que d'autres utilisent une capacité sans livrer de code ni divulguer de détails machine tels que les adresses IP. - Environnements de calcul complexes qui ne peuvent pas être facilement déployés dans des services externes, hébergés comme API dans un environnement disponible et exportés. Flux de travail principal 1. Un serveur central (le service central SEKIRO) est déployé pour que consommateurs et fournisseurs puissent se connecter. 2. Des clients existent dans plusieurs langages (Java, JavaScript, Python, et autres), implémentant la communication avec le serveur central et l'encapsulation d'API. 3. Les utilisateurs écrivent des handlers dans leur langage en utilisant l'API client SEKIRO pour accepter les paramètres et transférer les appels à la capacité locale réelle. 4. Les utilisateurs externes appellent l'API du service central, qui transfère au handler client correspondant et retourne le résultat via le lien d'origine. Construction et exécution - Installer Java et Maven. - Sur Linux/Mac, exécuter le script `build_demo_server.sh` pour produire `target/sekiro-open-demo.zip`. - Exécuter `bin/sekiro.sh` ou `bin/sekiro.bat`. - La documentation est servie à `http://127.0.0.1:5612/sekiro-doc` lorsqu'elle est déployée localement. Ressources - Documentation : http://sekiro.iinti.cn/sekiro-doc/ - Code d'exemple pour divers langages : https://github.com/yint-tech/sekiro-samples - Téléchargement du package d'installation : https://oss.iinti.cn/sekiro/sekiro-open - Démarrage rapide : https://sekiro.iinti.cn/sekiro-doc/01_manual/1.quickstart.html Le README mentionne également une offre de service commercial incluant authentification, gestion d'API, clustering distribué, équilibrage de charge et fonctionnalités multi-langages.