服务发现问题

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

相关推荐
treesforest4 小时前
如何解决IP定位精度不足导致的投放偏差
网络·网络协议·tcp/ip·ip属地·查ip归属地
2401_868534786 小时前
《论单元测试及其应用》
网络·网络协议
AlanBruce9 小时前
摩尔信使MThings EdgeWeb HTTP API接口
网络·网络协议·http·上位机·plc·modbus·摩尔信使
神仙别闹12 小时前
基于C++设计一个 P2P 聊天软件
网络·网络协议·p2p
IpdataCloud13 小时前
评估交易IP是否来自制裁国家?IP地址查询+政治敏感标签库实操指
网络·网络协议·tcp/ip·ip
映翰通朱工13 小时前
从0到1:EC942边缘计算机用Python实现Modbus TCP采集+MQTT上云全记录(附踩坑实录)
网络·python·网络协议·tcp/ip·二次开发·映翰通
Shell运维手记1 天前
ARP 协议超详细讲解(适合网工考试 / 运维理解)
运维·网络·网络协议·智能路由器
ShineWinsu1 天前
对于Linux:HTTP中cookie、session的解析
linux·网络·c++·网络协议·http·cookie·session
huainingning1 天前
华三瘦AP切换为胖AP并配置无线功能
运维·网络·网络协议·tcp/ip
跨境技工小黎1 天前
4G/5G 移动代理实战:什么时候必须用移动 IP?
网络协议·tcp/ip·5g