• 远程调用


    一、

    1. 产生的问题描述

    2. Java中常见的远程调用方式:

      Socket、Http、Tcp、Udp、Rpc、Rmi、Jms、WebService ...

    3. 常见的框架介绍

      ①:Hessian:类似于RMI,使用二进制消息来进行远程调用。与RMI不同的是,它的二进制消息可以在非Java中使用,它实现了一种跨编程语言的对象序列化方法。

      ②:Burlap:是一种基于XML的远程调用技术,但和其他基于XML的远程技术(如SOAP或XML-RPC)不同,Burlap的消息结构是尽可能的简单,不需要额外的外部定义语言(如WSDL)

      ③:Dubbo:阿里开源的分布式服务框架,通过高性能的RPC实现远程服务的调用,可以和Spring框架无缝集成,其架构类似于ESB

      ④:Spring的HttpInvoker:类似于RMI,基于HTTP协议来进行远程调用,使用java的序列化机制,要求客户端和服务端都是基于Java的

      ⑤:WebService

    4. 方案的选择

      A:如果系统全部为内部可控的

        ①:量级不太大,可以考虑使用Hessian/Burlap
        ②:量级较大,且交互要求较高,那么dubbo是一个现成、成熟的选择。缺点:需要很多额外的成本,比如学习成本,按需改进的成本等
        ③:交互要求并不高,主要是相互调用的需求,可以考虑自己实现
      B:系统包含很多外部的应用,不能全部可控,且很多异构的系统

        ①:如果要求不是很复杂的话,WebService是不错的选择
        ②:如果要求非常复杂,且涉及很多业务流,那就选择一个ESB平台

  • 相关阅读:
    各种数字证书区别
    微信支付前端对接流程
    ts笔记 流动类型
    支付宝支付前端对接流程
    ts笔记索引签名
    [翻译]Selenium API 命令和操作(JAVA)
    玩一玩yolo目标检测
    快速上手MyBatis
    Swift快速入门
    Windows远程桌面后不能粘贴问题处理
  • 原文地址:https://www.cnblogs.com/an5211/p/7427254.html
Copyright © 2020-2023  润新知