微服务架构就是把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务。但是这些服务之间是如何通信的呢?

驿徽驿徽提问于
彼岸轮回回答于

微服务能解决了单体应用以及SOA带来的的问题,但是微服务使整个应用服务增多,服务间通讯更复杂,也会带来大量 的问题。比如单体如何拆分成多个微服务,团队间沟通更多,运维成本增高,分布式事务问题,依赖管理变得复杂,测试 更加困难,故障更难于定位等等。

微服务架构能够解决单体架构带来的问题。但是在微服务架构中,一个整体的程序被拆分为许多子微服务。每个微服务实现某一个单一的功能,但是这使得应用程序的应用服务变多,这就使得这些微服务程序之间的通信变得十分复杂。而在程序运行过程中存在着大量的业务逻辑,这往往需要各个微服务之间交换大量的数据。这就带来了许多微服务通信的问题。但是微服务之间是如何通信的呢?

1、客户端到服务端通信,API Gateway方法。

API Gateway是解决微服务通信的一个不错的方法。以客户端为例。一个客户端可以向多个微服务中的任意一个微服务发出请求。API Gateway负责请求转发、合成和协议转换。所有请求都要先经过API Gateway,然后再将请求转发到对应的微服务中。

2、进程通信IPC

这种通信不但可以实现一对一、一对多。还可以实现同步和异步请求。

回答过的其他问题

如何快速搭建一个微服务架构?

选择进程内 LB 方案 首先,随着 Netflix 的微服务方案和 Spring Cloud 的兴起与成熟,进程内 LB 方案成为我们的首选。 其次,推荐使用 Eureka 做服务注册中心,Ribbon 做客户端服务发现和负载均衡。 最大好处是: 1、简单 + 实用 + 可控,不...... 展开详请

智能推荐算法的原理是什么?

就像我最近研究协作过滤算法一样,我将详细描述这个算法是如何实现的。 协作过滤算法通常如何做?我们来看看图书推荐的做法: 协同过滤(CF)大致可以分为两类:一类是基于邻域的推荐,另一类是基于模型的推荐;邻域法是利用用户最喜欢的现有项目度来猜测用户对新项目的喜爱程度。相反,基于模型的...... 展开详请

AI领域无监督学习有哪些难点?

首先我觉得无监督学习迷雾重重,目前无监督学习领域并没有一个好的正确的方向。但是,本身无监督学习相比于有监督学习要难许多。而且我认为无监督学习应该归属到强人工智能领域。而有监督学习应该归属到弱人工智能领域。所以我认为无监督学习的设计模式、设计方法应该跟有监督学习完全不同。但是,目前...... 展开详请

人脸识别安全吗?双胞胎能识别出来吗?

这涉及到适应性和准确性相平衡的问题。 例如,假定当系统设定80%相似度便认定为同一个人时,当某人发生胖瘦变化、换发型、年龄变化时,系统能够识别出是同一个人;而双胞胎的相似度可能为90%,这时系统无法将两个人区分出来。在80%的设定下,系统适应性较高,准确率相对较低。假定如果为了...... 展开详请

Google的Shopping Actions计划用到了哪些智能推荐算法?

这个购物的推荐算法应该是看砸钱吧,毕竟用户都给了关键词了,搜索而已。

看普通SSD改造成傲腾,傲腾究竟意义何在?

傲腾内存外形与M.2固态硬盘相仿,并占用主板上的一个M.2接口,其主要作用是为HDD与SSD加速(不支持为NVMe固态硬盘加速),而对于HDD的提升收益最大,SSD加速意义不大。 它就是为机械硬盘加速用的。具体来说,它的主要作用表现在: 其一、提升开机速度; 其二、提升软件加载速...... 展开详请

关于作者

扫码关注云+社区

领取腾讯云代金券