服务发现问题

对于 RESTful API 来讲,我们已经解决了传输协议的问题------基于 HTTP,协议约定问题------基于 JSON,最后要解决的是服务发现问题。

有个著名的基于 RESTful API 的跨系统调用框架叫 Spring Cloud。在 Spring Cloud 中有一个组件叫 Eureka。传说,阿基米德在洗澡时发现浮力原理,高兴得来不及穿上裤子,跑到街上大喊:"Eureka(我找到了)!"所以 Eureka 是用来实现注册中心的,负责维护注册的服务列表。

服务分服务提供方,它向 Eureka 做服务注册、续约和下线等操作,注册的主要数据包括服务名、机器 IP、端口号、域名等等。

另外一方是服务消费方,向 Eureka 获取服务提供方的注册信息。为了实现负载均衡和容错,服务提供方可以注册多个。

当消费方要调用服务的时候,会从注册中心读出多个服务来,那怎么调用呢?当然是 RESTful 方式了。

Spring Cloud 提供一个 RestTemplate 工具,用于将请求对象转换为 JSON,并发起 Rest 调用,RestTemplate 的调用也是分 POST、PUT、GET、 DELETE 的,当结果返回的时候,根据返回的 JSON 解析成对象。通过这样封装,调用起来也很方便。

此文章为10月Day5学习笔记,内容来源于极客时间《趣谈网络协议》,推荐该课程。

相关推荐
YFLICKERH14 分钟前
【加密协议】SSL/TLS 协议工作流程
网络协议·ssl/tls
观望过往6 小时前
WebSocket 技术全解析:原理、应用与实现
网络·websocket·网络协议
阿珊和她的猫17 小时前
HTTP 状态码 304:未修改(Not Modified)的深度解析
网络协议·http·状态模式
jinxinyuuuus19 小时前
局域网文件传输:P2P架构中NAT穿透、打洞与数据安全协议
网络协议·架构·p2p
chuxinweihui20 小时前
应用层协议 HTTP
linux·服务器·网络·网络协议·http
chuxinweihui20 小时前
HTTP cookie 与 session
网络·网络协议·http
RocketJ20 小时前
TCP、Telepathy 和 HTTP 三者关系
网络协议·tcp/ip·http
默恋~微凉20 小时前
Shell(九)——HTTP与HTTPS协议
网络协议·http·https
fei_sun20 小时前
【复习】计网每日一题1121大题--HTTP/1.0、HTTP/1.1、持续连接、非持续连接、并行连接、Web、JPEG图像
网络·网络协议·http
Yan-英杰20 小时前
解决方案: CondaHTTPError: HTTP 000 CONNECTION FAILED for url
网络·网络协议·http