如何使用Spring Cloud构建微服务架构?
所有的微服务都会通过 Eureka 来完成微服务的注册与发现。一个典型的基于 Spring Cloud 的微服务架构如下所示: 微服务的集成可以通过 Feign+Ribbon 以 RESTful 方式实现通信,也可以基于 RPC 方式(可以结合 Protocol Buffer)完成服务之间的通信,甚至可以通过发布事件与订阅事件的机制。 事件机制可以使微服务之间更加松散耦合。这时,我们可以引入 RabbitMQ 或 Kafka 来做到服务与服务之间的解耦。 事件机制是异步和非阻塞的,在某些业务场景下,它的性能会更加的好。Spring Cloud 也提供了相关的组件 Spring Cloud Stream 来支持这种事件机制。 对于微服务之间的协作,到底选择 Feign 这种 REST 方式、事件机制或者 RPC 方式,取决于业务场景是否需要同步方式,还是异步方式;是高性能高并发,还是普通方式;是要求彻底解耦,还是做到一般的松散耦合。 我们需要针对实际情况作出实际的判断,作出正确的选择。没有谁坏谁好之分,而是看谁更加的适合。 作者:张逸 简介:架构编码实践者,IT 文艺工作者,大数据平台架构师,兼爱 OO 与 FP,热衷于编程语言学习与技艺提升,致力于将主流领域驱动设计与函数式编程、响应式编程以及微服务架构完美结合。他的个人微信公众号为「逸言」,个人博客:http://zhangyi.xyz。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |