文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

分布式系统:分布式架构服务调用

2024-11-30 13:57

关注

二、实现方式

1、HTTP 应用协议的通信框架

1. HttpURLConnection java 原生 HttpURLConnection是基于http协议的,支持get,post,put,delete等各种请求方 式,最常用的就是get和post

2. Apache Common HttpClient HttpClient 是Apache Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本。

3. OKhttp3 OKHttp是一个当前主流的网络请求的开源框架, 用于替代HttpUrlConnection和Apache HttpClient

4. RestTemplate Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多 种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率,所以很多客户端比如 Android 或者第三方服务商都是使用 RestTemplate 请求 restful 服务。

2、RPC 框架

RPC全称为remote procedure call,即远程过程调用。借助RPC可以做到像本地调用一样调用远 程服务,是一种进程间的通信方式. 。常见的RPC框架有以下几种。

1. Java RMI Java RMI(Romote Method Invocation)是一种基于Java的远程方法调用技术,是Java特有的一 种RPC实现。

2. Hessian

Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比 WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以 它很适合于发送二进制数据。

3. Dubbo

Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服 务的输出和输入功能,可以和Spring框架无缝集成。Dubbo是一款高性能、轻量级的开源Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注 册和发现。

4. gRPC

gRPC是由Google公司开源的一款高性能的远程过程调用(RPC)框架,可以在任何环境下运行。该 框架提供了负载均衡,跟踪,智能监控,身份验证等功能,可以实现系统间的高效连接。

3、跨域调用

1、跨域

在分布式系统中, 会有调用其他业务系统,导致出现跨域问题,跨域实质上是浏览器的一种保护处 理。如果产生了跨域,服务器在返回结果时就会被浏览器拦截(注意:此时请求是可以正常发起的,只是 浏览器对其进行了拦截),导致响应的内容不可用. 产生跨域的几种情况有一下:

2、常见解决方案

1. 使用jsonp解决网站跨域 缺点:不支持post请求,代码书写比较复杂

2. 使用HttpClient内部转发

3. 使用设置响应头允许跨域 response.setHeader(“
Access-Control-Allow-Origin”, “*”); 设置响应头允许跨域.

4. 基于Nginx搭建企业级API接口网关

5. 使用Zuul搭建微服务API接口网关

Zuul是spring cloud中的微服务网关。网关: 是一个网络整体系统中的前置门户入口。请求首先通 过网关,进行路径的路由,定位到具体的服务节点上。可以使用zuul的过滤器的请求转发去解决跨域问题

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯