微服务间的调用和应用内调用有啥区别

本文探讨了微服务间的调用与应用内调用的区别,重点在于微服务调用的跨进程、跨节点特性带来的网络不可靠性和依赖管理问题。介绍了微服务调用需要注意的事项,如对外部依赖的处理、连接池管理和超时设置,并通过实际案例说明了正确处理这些问题是避免线上故障的关键。
摘要由CSDN通过智能技术生成

摘要

目前大部分的系统架构都是微服务架构,就算没有注册中心、服务管理,也肯定是多个服务,单体服务比较少了。

大家平时需要在应用内调用rpc接口也比较多,那么有没有思考过微服务之间的调用和应用内直接调用有什么区别呢?面试时是不是经常被被问到微服务呢,本篇文章针对微服务间的方法调用和应用内方法调用的有啥区别这个很小的点,谈谈我的经验

微服务调用特点

先从单体应用说起

 

单体应用

单体引用通过一个服务节点直接组装好数据,返回给调用者。所有的方法调用都发生在应用内部。

 

微服务应用

商品详情服务需要调用商品,营销等多个服务组装好商品详情页的数据

微服务调用和应用内调用不同点在于它是跨进程的,甚至是跨节点的,这意味着什么呢

使用k8s编排微服务时,我们可以让不同的服务放在同一个节点的不同docker container上,但是考虑到网络不可靠,和容灾,服务之间不可避免会放到不同的节点/机架上,所以下文都以跨节点来讨论

意味着两点

  • 对外部有了依赖
  • 如果是跨节点,就有了网络调用。我们知道网络都是不可靠的

关于网络有几个著名的错误推论

The network is reliable(网络是可靠的&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值