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

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


(资料图片仅供参考)

一、服务调用

和传统的单体架构相比,分布式多了一个远程服务之间的通信,不管是 soa 还是微服务,他们本 质上都是对于业务服务的提炼和复用。那么远程服务之间的调用才是实现分布式的关键因素。

二、实现方式

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

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

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

实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)支持 HTTPS 协议支持代理服务器等

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

支持http2.0,对一台机器的请求共享一个socket。采用连接池技术,可以有效的减少Http连接数量。无缝集成GZIP压缩技术。支持Response Cache,避免重复请求 域名多IP支持

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

面向 URL 组件,必须依赖于主机 + 端口 + URIRestTemplate 不依赖于服务接口,仅关注 REST 响应内容Spring Cloud Feign

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的过滤器的请求转发去解决跨域问题

标签:

最近更新

分布式系统:分布式架构服务调用
2023-05-29 20:41:58
金信诺: 关于召开2023年第三次临时股东大会的通知
2023-05-29 20:22:01
苹果手机闪退怎么修复出厂设置 苹果手机闪退怎么修复
2023-05-29 19:14:57
焦点速讯:发扬劳动风采 弘扬铁军精神
2023-05-29 19:03:12
专升硕国外院校莱佛士大学招生详情
2023-05-29 18:25:12
锈湖悖论书架排列原因 锈湖悖论书架顺序介绍
2023-05-29 17:49:44
财通证券:销售温和波动复苏,城市表现持续分化 全球要闻
2023-05-29 16:19:46
什么是议论文三要素简便解释_什么是议论文三要素-每日热点
2023-05-29 15:50:40
骑自行车作文400字四年级_骑自行车作文 环球滚动
2023-05-29 14:37:55
绿地:预计今年能源产业收入及利润增幅有望达到50%
2023-05-29 14:12:59
24寸和27寸显示器对比大小_24寸和27寸显示器对比|世界滚动
2023-05-29 13:03:09
全球微动态丨熵基科技:公司技术暂时未应用于微信刷掌支付
2023-05-29 12:48:04
海南机场(600515):把握优质核心资产 乘自贸港东风扶摇而上-世界观察
2023-05-29 11:55:23
孟晖:中华文化中的赏花传统有何美学内涵?_天天快讯
2023-05-29 11:16:52
【世界独家】睡觉打鼾怎样治疗效果好(睡觉打鼾怎么治疗)
2023-05-29 10:16:30
雷电微力董秘回复:公司出货产品为毫米波微系统 世界热消息
2023-05-29 09:25:47
“光年奖”11年发掘百位科幻新秀
2023-05-29 08:48:24
海贼王957话情报更新,红发香克斯的悬赏金高达40亿,排倒数第二
2023-05-29 07:59:34
天天热头条丨售35.97-46.97万元 新款凯迪拉克CT6正式上市
2023-05-29 06:53:48
焦点快播:国际原子能机构特别工作组再访日本:将推出福岛核污染水排海综合报告
2023-05-29 05:48:31
ppt制作教程
2023-05-29 04:05:08
春季时尚达人都在穿什么?背心也可以试试,学学这个春天的穿搭感_全球快消息
2023-05-29 02:57:59
短期贷款期限|天天热讯
2023-05-29 01:20:54
曲依乡(关于曲依乡介绍)_当前独家
2023-05-28 23:20:49
拉莫斯社媒:很高兴赢得我的第29个冠军,为球队感到骄傲
2023-05-28 21:48:06
全球快资讯丨隔墙有耳的意思_关于隔墙有耳的意思的介绍
2023-05-28 20:44:53
想选择驾校学习吗?先看看玉溪交警发布的这份“红蓝榜”!
2023-05-28 20:00:28
vivo S17配色艳丽动人_简讯
2023-05-28 18:54:11
星云人机交互,林肯Z颠覆传统车载界面
2023-05-28 17:34:39
天天快看点丨大规模小麦机收全面展开 “三夏”服务助收割
2023-05-28 16:43:44