spider RPC 特性介绍

spider RPC 性能测试

spider RPC 入门指南

spider RPC 配置文件参考

spider RPC 开发指南

spider RPC 安全性

spider RPC需求来源

spider RPC的需求源于作者所在公司布局证券金融服务行业某细分领域2B saas服务平台的需要,以尽可能达到高可靠性、最小化单点影响、单点失败时最小化影响客户数的目标、随时按需动态增加或收缩服务器实例,以满足互联网金融业务量随时剧烈波动的现实场景。

修复某证券期货大金融软件服务公司某java中间件通信框架下列潜在缺陷:

  • cpu利用率在90%以上运行超过几十分钟后有可能jvm进程hang的问题;
  • TPS无法随着服务器配置的增加线性扩展;

spider RPC公开版支持以下特性:

注:部分特性处于特殊场景考虑,公开版不开放。

  • 能够根据请求包里面的功能号、子系统号进行静态路由;
  • 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泛型;
  • 灵活的路由,任何服务都可以发送到任何集群(暂不支持到具体的节点)。

spider RPC框架的需求来源与特性介绍(一)的更多相关文章

  1. IE8 松散耦合进程框架(Loosely-Coupled IE (LCIE)--特性介绍

    官方介绍:http://blogs.msdn.com/b/ie/archive/2008/03/11/ie8-and-loosely-coupled-ie-lcie.aspx 参考文档:http:// ...

  2. 谁能用通俗的语言解释一下什么是 RPC 框架?

    转载自知乎:https://www.zhihu.com/question/25536695 知乎上很多问题的答案还是很好的,R大就经常在上面回答问题 关于RPC你的题目是RPC框架,首先了解什么叫RP ...

  3. 谁能用通俗的语言解释一下什么是 RPC 框架

    转载自知乎:https://www.zhihu.com/question/25536695 知乎上很多问题的答案还是很好的,R大就经常在上面回答问题~ 谁能用通俗的语言解释一下什么是 RPC 框架? ...

  4. spider RPC开发指南

    协议与兼容性 spider使用java语言开发,使用Spring作为IoC容器,采用TCP/IP协议,在此基础上,结合SaaS系统模式的特性进行针对性和重点设计,以更加灵活和高效的满足多租户系统.高可 ...

  5. RPC 框架通信原理

    RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据: ...

  6. 轻量级分布式 RPC 框架

    @import url(/css/cuteeditor.css); 源码地址:http://git.oschina.net/huangyong/rpc RPC,即 Remote Procedure C ...

  7. 【转】轻量级分布式 RPC 框架

    第一步:编写服务接口 第二步:编写服务接口的实现类 第三步:配置服务端 第四步:启动服务器并发布服务 第五步:实现服务注册 第六步:实现 RPC 服务器 第七步:配置客户端 第八步:实现服务发现 第九 ...

  8. RPC框架之Thrift

    目前流行的服务调用方式有很多种,例如基于SOAP消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等.其中所用到的数据传输方式包括 XML,JSON 等,然而 XML ...

  9. 一个入门rpc框架的学习

    一个入门rpc框架的学习 参考 huangyong-rpc 轻量级分布式RPC框架 该程序是一个短连接的rpc实现 简介 RPC,即 Remote Procedure Call(远程过程调用),说得通 ...

随机推荐

  1. animate.css(第三方动画使用方法)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Monaco; color: #a5b2b9 } animation 语法: animatio ...

  2. 【干货分享】流程DEMO-出差申请单

    流程名: 出差申请  业务描述: 员工出差前发起流程申请,流程发起时,会检查预算,如果预算不够,将不允许发起费用申请,如果预算够用,将发起流程,同时占用相应金额的预算,但撤销流程会释放相应金额的预算. ...

  3. KOTLIN开发语言文档(官方文档) -- 2.基本概念

    网页链接:https://kotlinlang.org/docs/reference/basic-types.html 2.   基本概念 2.1.  基本类型 从可以在任何变量处理调用成员函数和属性 ...

  4. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

  5. [原创]ubuntu16.04LTS使用细节

    如何给自己安装的应用创建桌面图标 拿php开发神器phpstorm为例,找到可执行文件所在路径. 这里是/home/haive/PhpStorm/bin/phpstorm.sh 打开dash,搜索&q ...

  6. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  7. js月份,日期加一天

    js没有直接可以用的函数,所以只能自己写,其中需要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断 var addDate = { //日期,在原有日期基础上,增加days天数,默认增加 ...

  8. MySql 死锁时的一种解决办法

    转自:http://blog.csdn.net/mchdba/article/details/38313881 之前也遇到一次,今天又遇到了这个问题,所以这次必须解决,网上找到这篇文章帮了大忙,方便以 ...

  9. AngularJS 第三天----作用域

    作用域的概念及其功能 AngularJS使用作用域的概念来充当数据模型的作用,在视图和控制器之间起着桥梁的作用.由于双向绑定的数据特性,视图的修改会更新 $scope,同样对 $scope的修改也会重 ...

  10. 企业IT管理员IE11升级指南【15】—— 代理自动配置脚本

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...