spider RPC更新至2.0.0-RELEASE

spider使用java语言开发,使用Spring作为IoC容器,采用TCP/IP协议,在此基础上,结合SaaS金融交易系统的特性进行针对性和重点设计,以更加灵活和高效的满足金融交易系统多租户、高可用、分布式部署的要求。spider默认采用JSON作为序列化机制,后续版本可能会考虑支持protobuf(java/c++/c#均有类库支持)。 为了最大化性能以及稳定性,spider基于Oracle JDK1.8进行编译并应避免使用deprecated特性。 为了尽可能的适应各环境以及互联网应用,spider应能至少运行于tomcat/jboss应用服务器或原生java下。

spider托管地址:https://git.oschina.net/zhjh256/io-spider

最重要的是,spider每天已在金融生产系统稳定运行很长一段时间,并且每天有数亿的成交金额通过它运行。
spider特性、设计和参考文档、开发指南请参考http://git.oschina.net/zhjh256/io-spider

spider社区版部分主要特性包括:

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

      saas架构的理想模式就是所有的业务实现均原生支持多租户。
      如果做不到原生支持多租户,按照一个租户一个runtime,也需要动态能够设置某个runtime提供对哪个客户的支持,这肯定不能让运维动态更改配置文件,他只需要中心化指定即可。
      即使能做到,也需要支持动态能够设置某个app提供对哪个客户的支持,因为一个app仅能够提供对有限个客户的支持,且mysql也不可能做到一个库支持所有。
      反之,如果做不到原生支持多租户,则app必须支持多数据源切换以及动态管理,因为通常一个客户通常难以大到需要一个app去支持的程度。

    • 支持服务器集群中的各节点负载均衡(根据模式);
    • 支持基于中心化管理的大型部署和独立管理的中小型部署;
    • 支持自动重连到断开的服务器节点;
    • 支持中心化剔除已删除的服务器节点;
    • 支持中心化增加服务器节点;
    • 支持中心化删除服务器集群;
    • 支持中心化增加服务器集群;
    • 一个可执行组件,支持任何时候节点(Work Node,WN)作为路由服务器(Node Broker,NB)或处理服务器(Node Processor,NP);
    • 基于TCP/IP协议,支持客户端语言无关;
    • 节点间技术上对等,即允许同时满足A是B的客户端,B是A的客户端,只要保证路由不形成死循环即可;
    • 支持报文加密;
    • 能够自动校验报文是否被篡改;
    • 支持客户端认证功能;
    • 支持报文压缩;
    • 支持是否启用服务端功能;
    • 能够中心化监控所有中间件的运行状况;
    • 支持基于java Spring IOC注解方式的Java原生式远程服务调用;
    • 最小化节点本地(集中化)配置;
    • 支持List泛型;
    • 灵活的路由,任何服务都可以发送到任何集群(暂不支持到具体的节点)。
posted @   zhjh256  阅读(576)  评论(4编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示