io.spider - Java 开发 JRPC 框架


Apache
跨平台
Java

软件简介

Spider 是使用 Java 开发的 JRPC 框架,使用 Spring 作为 IoC 容器,采用 TCP/IP 协议,在此基础上,结合 SaaS
金融交易系统的特性进行针对性和重点设计,以更加灵活和高效的满足金融交易系统多租户、高可用、分布式部署的要求。

Spider 默认采用 JSON 作为序列化机制,后续版本可能会考虑支持 protobuf(java/c++/c#均有类库支持)。

为了最大化性能以及稳定性,Spider 基于 Oracle JDK1.8 进行编译并应避免使用 deprecated 特性。
为了尽可能的适应各环境以及互联网应用,Spider 应能至少运行于 tomcat/jboss 应用服务器或原生 Java 下。

Spider 已在金融生产系统稳定运行很长一段时间,并且每天有数亿的成交金额通过它运行。

社区版主要特性

  • 能够根据请求包里面的功能号、子系统号进行静态路由;

  • saas化。能够根据请求包里面的机构号、产品(系统)号、版本号进行动态路由。

  • 支持服务器集群中的各节点负载均衡(根据模式);

  • 支持基于中心化管理的大型部署和独立管理的中小型部署;

  • 支持自动重连到断开的服务器节点;

  • 支持中心化剔除已删除的服务器节点;

  • 支持中心化增加服务器节点;

  • 支持中心化删除服务器集群;

  • 支持中心化增加服务器集群;

  • 一个可执行组件,支持任何时候节点(Work Node,WN)作为路由服务器(Node Broker,NB)或处理服务器(Node Processor,NP);

  • 基于TCP/IP协议,支持客户端语言无关;

  • 节点间技术上对等,即允许同时满足A是B的客户端,B是A的客户端,只要保证路由不形成死循环即可;

  • 支持报文加密;

  • 能够自动校验报文是否被篡改;

  • 支持客户端认证功能;

  • 支持报文压缩;

  • 支持是否启用服务端功能;

  • 能够中心化监控所有中间件的运行状况;

  • 支持基于java Spring IOC注解方式的Java原生式远程服务调用;

  • 最小化节点本地(集中化)配置;

  • 支持List泛型;

  • 灵活的路由,任何服务都可以发送到任何集群(暂不支持到具体的节点)。