世界球精选!面试中提到的微服务之间通讯方式

2023-06-27 09:02:45 来源:Java极客技术

我们都知道现在的项目开发中都是一个微服务一个微服务的部署,然后每个微服务之间都是相对独立的,不会再像之前的老项目所有的不同的功能模块都集成在一个项目中了,但是每个微服务之间的通信问题,就成了一个非常重要的内容了。今天了不起就陪着大家来了解一下这个微服务之间的通信方式,如果面试官问到了,就看你怎么发挥了。

图片


【资料图】

微服务之间的通信方式

其实微服务之间的通信方式,如果让了不起来回答的话,无非就是三种内容,同步通信,异步通信,事件驱动架构(EDA),但是也有很多人会说,实际上这个微服务之间的通信方式也可以归结为两种,一种就是同步通信,一种就是异步通信,而这个事件驱动架构并不能算是一种通信方式,了不起觉得不对,他其实也算是一种,只不过没有那么的标准罢了,个人理解问题,反正只要能回答上两种,其实就已经算是合乎标准的回答了。

同步通信

微服务之间通过请求-响应的方式进行通信,例如 RESTful API 和 RPC。通信过程中,请求方需要等待响应方的返回结果,因此可靠性较高,但可能会出现请求排队、线程阻塞等问题,从而影响系统的响应速度和并发性能。

异步通信

微服务之间通过消息队列进行异步通信,例如Kafka和RabbitMQ。通信过程中,发送方向消息队列发送消息,接收方从消息队列中消费消息,消息传输以异步的方式进行,不需要等待接收方的响应。由于解耦性高,消息队列还可以支持发布-订阅模式,消息得以广播到多个服务中,助于构建高可伸缩的系统。不过异步通信也可能导致延迟较高,以及可靠性和容错性较差等问题。

事件驱动架构(EDA)

微服务之间通过发布-订阅模式进行通信,例如Apache Kafka和AWS SNS/SQS。通信过程中,发布者发布事件,订阅者订阅事件,事件传递以异步的方式进行。通过EDA,不同服务之间可以实现松耦合通信,提高系统的可伸缩性和弹性,但需要谨慎处理网络分区等极端情况,以避免出现一致性等问题。

既然我们都已经知道了这个微服务之间的通信方式了,那么是不是得看看微服务通信实现呢?

微服务通信实现服务注册与发现

服务注册与发现是微服务架构的关键组件之一。它允许服务在启动时注册其自身,并通过服务发现机制向其他服务公开其位置。为了实现服务注册与发现,我们通常使用以下组件:

ZooKeeper:

ZooKeeper 是一个具有高可用性和可扩展性的分布式协调服务。它可以用于服务注册和发现,以及配置管理。

etcd:

etcd 是一个分布式键值存储系统,用于服务注册和发现,并提供强一致性保证。

Consul:

Consul 是一个分布式服务发现和配置管理系统。它支持多数据中心、健康检查和负载均衡等功能。

服务调用

服务调用是微服务之间通信的另一个重要组件。它包括客户端负载均衡、服务降级、熔断和容错等功能。为了实现服务调用,我们通常使用以下组件:

Ribbon:

Ribbon 是一个负载均衡器,它可以帮助我们在集群中平衡负载。它支持多种负载算法和服务发现,可以与Eureka等注册中心集成。

Feign:

Feign 是一个声明式的 REST 客户端,它使编写 REST 客户端变得更加简单。我们可以使用注解来定义需要访问的服务接口,并且在运行时自动生成实现代码。

Hystrix:

Hystrix 是一种容错和熔断框架,它可以帮助我们处理分布式系统中的故障,并防止故障扩散。Hystrix 通过控制线程池和请求队列来实现熔断机制,从而避免系统崩溃。

Resilience4j:

Resilience4j 是一个轻量级的容错库,它提供了诸如熔断、超时、重试和限流等功能。与Hystrix相比,Resilience4j提供了更为灵活和集成化的解决方案。

其实如果你掌握到这些内容的时候,那么面试中问到关于微服务之间的通信方式的话,你回答起来应该问题就不大了。

标签

溧阳:投入470万元 全力支持乡村“复兴少年宫”建设

2021年,溧阳市被列为全国乡村复兴少年宫50家试点县市之一。为进一步拓展农村未成年人身心健康全面发展...

2022-08-29 14:28:14 江苏经济报

郴州安仁文旅项目集中开工 总投资1000万元

3月16日,安仁县举行文旅项目集中开工活动,县委书记王洪灿在开工仪式上宣布:湘南起义旧址群——朱毛井...

2022-03-20 15:40:46

2022年郴州计划重点推进文旅项目101个 总投资354亿元

3月16日,我市举行全市文旅项目和城市大提质大融城项目集中开工仪式,市委书记吴巨培宣布项目开工。郴州...

2022-03-20 15:39:41

宿州泗县深入推进文旅融合发展 擦亮城市品牌

近年来,泗县以争创安徽省文化旅游名县为目标,深入推进文旅融合发展,努力擦亮水韵泗州 运河名城城市...

2022-03-20 15:38:59

汽车零部件产业“领头羊” 锦州力争一季度“开门红”

3月16日,记者从锦州汽车零部件产业的领头羊——锦州万得集团获悉,今年前两个月,企业订单充足,正铆足...

2022-03-20 15:37:41

油价或有望冲击“九元”大关 宁波新能源汽车市场如何

新一轮国内成品油调价窗口于3月17日24时开启,油价或有望冲击九元大关。前一天晚上11点,鄞州区不少加油...

2022-03-20 15:34:38

从水塘到“云”端 全国最大高邮鸭养殖基地实现智慧养殖

随着新一代数字技术的蓬勃发展,以新兴技术推动现代化新农村建设正成为助力乡村振兴的重要手段。1个人能...

2022-03-20 15:33:17

淡季不忘引流 京郊民宿市场有望迎来回暖

旅游淡季中的京郊民宿有望成为市场中最先复苏的板块。3月17日,北京商报记者调查发现,虽然正值旅游淡季...

2022-03-20 15:32:01

镇江乡村一二三产业融合发展 闯出“镇江之路”

从烹饪江鲜河豚的个体小饭店到规模化的江岛乡村旅游产业集群,从白兔草莓丁庄葡萄的单个农户种植到茅山...

2022-03-20 15:31:11

总投资30亿元 盐城东台8个重大产业项目相继开工

总投资30亿元的精密电子元器件项目、同益电子项目,总投资10亿元的金利美精密组件项目、天永智能设备项...

2022-03-20 15:30:13
x 广告
x 广告

Copyright  2015-2022 华北粮油网版权所有  备案号:粤ICP备18023326号-8   联系邮箱:855 729 8@qq.com