频道首页
目录
04.服务调用
收藏
0
服务调用
1.介绍
和传统的单体架构相比,微服务多了一个远程服务之间的相互通信,不管是SOA还是微服务,他们本质上都是对于业务服务的提炼和复用。那么远程服务之间的相互调用才是实现分布式的关键因素
服务调用,即一个服务调用另一个服务,此过程可以分为服务调用者、服务提供者
2.服务调用的三种方式
- 显示HTTP:性能还好,最为常见的调用方式,常用的框架是OpenFeign,当然OpenFeign也算是RPC的一种
- RPC:性能非常好(一般优于显示的HTTP调用),也非常常用,常用的框架是Dubbo与gRPC
- MQ:与其他两种通讯方式对比,具有着缓冲与解耦与异步的特点,常见的有:ActiveMQ,RabbitMQ,RocketMQ,Pulsar
3.服务调用的最基本的实现方式/地址硬编码
介绍
地址硬编码即将微服务的IP、端口号、请求url等具体的api地址通过代码的形式写在调用者服务中
图示
代码示例
优点
实现简单
缺点
这种调用方式将服务的ip、端口都精准地写在代码中,而且ip和端口往往是最容易变动的。当服务越来越多时,写入的ip、端口就会越来越多,这将使得后期维护变得极为困难
无法针对服务级别的负载均衡调用
4.与客户端负载均衡的关系
一般作为服务消费者去调用服务提供者,服务提供者会以集群的方式提供服务,这个时候需要选择一个实例去调用这个时候需要通过客户端负载均衡的方式选择一个实例进行调用,一般服务调用框架会配合客户端负载均衡框架一起使用或者服务调用框架干脆就内置了客户端负载均衡的功能
主页
会议室
文章
看板
讨论
AI文档