服务发现问题

对于 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学习笔记,内容来源于极客时间《趣谈网络协议》,推荐该课程。

相关推荐
Zach_yuan2 小时前
数据链路层核心技术解析:以太网与ARP协议
服务器·网络·网络协议
天荒地老笑话么12 小时前
Bridged 下 IP 冲突:冲突识别与修复
网络·网络协议·tcp/ip
航哥的女人12 小时前
基于TCP的socket编程
网络·网络协议·tcp/ip
程序员敲代码吗16 小时前
WebSocket在现代通讯系统中的应用与优势解析
网络·websocket·网络协议
User_芊芊君子1 天前
WebSocket实时通信入门,感谢我的好搭档脉脉
网络·人工智能·websocket·网络协议·测评
码农阿豪1 天前
解决HTTP 413错误:请求实体过大(Request Entity Too Large)的终极指南
网络·网络协议·http
7ACE1 天前
Wireshark TS | TCP 零窗口探测时间
网络协议·tcp/ip·wireshark
kyle~1 天前
计算机网络---WebSocket通信(C++)
websocket·网络协议·计算机网络
REDcker2 天前
HTTP 协议发展详解:从 HTTP/1 到 HTTP/3
网络·网络协议·http