首页 > 其他分享 >微服务【最佳调用方式】

微服务【最佳调用方式】

时间:2023-11-10 10:45:49浏览次数:27  
标签:调用 服务 方式 最佳 RPC 消息 耦合 发消息

一、简介

       服务调用有两种方式:RPC、Event-driven。

       RPC方式,有RestFul,gRPC,Bubbo等,一般是同步的。可以马上得到结果,代码也更简单。

       Event-driven方式,就是发消息方式。是松耦合方式,比紧耦合的RPC方式要优越,但RPC方式如果用在合适的场景也有它的用处。

二、耦合种类

       2.1、时间耦合:客户端和服务端必须同时上线才能工作。发消息时,接受消息队列必须运行,但后台处理程序暂时不工作也不影响。

       2.2、容量耦合:客户端和服务端的处理容量必须匹配。发消息时,如果后台处理能力不足也不要紧,消息队列会起到缓冲的作用。

       2.3、接口耦合:RPC调用有函数标签,而消息队列只是一个消息。例如买了商品之后要调用发货服务,如果是发消息,那么就只需发送一个商品被买消息。

       2.4、发送方式耦合:RPC是点对点方式,需要知道对方是谁,它的好处是能够传回返回值。消息既可以点对点,也可以用广播的方式,这样减少了耦合,但也使返回值比较困难。

 

       

标签:调用,服务,方式,最佳,RPC,消息,耦合,发消息
From: https://www.cnblogs.com/xiaobaicai12138/p/17823549.html

相关文章

  • Archi - 运维 - 一个经过10个服务的 API 请求,出现了随机无法访问的故障,如何解决
    问题描述一个API请求,出现了随机无法访问的故障,而这个API可能会经过5-10个服务,怎么快速定位是哪一个服务出现问题? 解决方案对于每一个请求,都会分配一个唯一的请求编号(requestId),在经过每一个服务的时候,都带上这个请求编号,每个服务都把这个请求的输入和输出记录下来,输入的......
  • apache httpd文件服务器(三)
    创建file文件夹,生成txt测试文件[root@VM-0-5-centoshtml]#echo"abc333">file/b.txt[root@VM-0-5-centoshtml]#lsfile/a.txtb.txt创建exe文件[root@VM-0-5-centoshtml]#touchfile/a.exe[root@VM-0-5-centoshtml]#lsfile/a.exea.txtb.txt查看log访问记录vi/......
  • 云服务器相关操作(二)
    当涉及到云服务器的操作时,有许多不同的任务和操作可以执行。以下是一些与云服务器相关的常见操作:创建云服务器:您可以使用云服务提供商(如亚马逊AWS、微软Azure、谷歌云等)的控制台、命令行界面或API创建云服务器。您需要选择服务器实例类型、操作系统、存储配置和网络设置等。......
  • 微服务架构:软件开发的革命还是短暂潮流?
    引言从今天开始,我们将深入探讨服务网格(ServiceMesh)这个领域的知识。尽管在我们的工作中可能还没有广泛应用,但服务网格确实是一种趋势。如果你还没有听说过这个概念,我希望你能够跟随我的步伐,一起了解这个特殊而重要的技术。首先,我将为大家介绍微服务的发展历程,从过去到现在,逐渐引......
  • OpenFeign 接口调用问题及解决方案
    问题描述如果在同一个工程中出现两个OpenFeign接口使用一样的服务名称会报以下错误:Description:Thebean'optimization-user.FeignClientSpecification',definedinnull,couldnotberegistered.Abeanwiththatnamehasalreadybeendefinedinnullandoverridin......
  • 解析虚拟文件系统的调用
    Linux可以支持多达数十种不同的文件系统。它们的实现各不相同,因此Linux内核向用户空间提供了虚拟文件系统这个统一的接口,来对文件系统进行操作。它提供了常见的文件系统对象模型,例如inode、directoryentry、mount等,以及操作这些对象的方法,例如inodeoperations、directoryo......
  • 80端口被占用,如何关闭占用80端口的服务?
    要关闭占用80端口的服务,你可以按照以下步骤进行操作:1.确定哪个进程占用了80端口:运行以下命令来查找占用了80端口的进程的信息(在大多数Linux系统上可用):sudolsof-i:80这将显示占用80端口的进程的详细信息,包括进程ID(PID)和进程名称。2.结束占用80端口的进程:使用......
  • 网页端口80端口被占用,如何关闭占用80端口的服务?
    如果你的网页服务器监听了80端口并被占用,你可以按照以下步骤来关闭占用80端口的服务:1.确定占用80端口的进程:首先,需要找到占用80端口的进程。你可以在Windows上使用命令提示符或PowerShell,或在Linux上使用终端运行以下命令:在Windows上:netstat-ano|findstr:80在Linux上:......
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-4】 - 配置管理-Mvc【Plugin-CORS 跨
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-3】-配置管理-Mvc【Plugin-MicroService微服务】本篇继续介绍下一个内容:系统配置节点:Mvc- Plugin- CORS 跨域界面:界面如下:跨域功能相关配置说明如下:1、CORS.IsEnable:是否启用跨域功能。仅需要开启该功......
  • SpringBoot是如何保证服务启动后不自动停止的
    一般项目执行后,当程序结束会自动关闭程序。但Springboot项目,启动后,只要不发生error错误,一般不会自动停止。这是为什么呢?简单Java阻止停止为了保证一个服务能够持续有效地对外提供服务,一般会有相应的处理方式,比如:服务器上的守护进程脚本但是,在Java代码层面,除了shell脚本之外......