微服务架构学习(三):微服务架构选型

本文探讨了微服务架构的选型,重点关注Spring Cloud、Dubbo和gRPC三大服务框架。Spring Cloud基于Spring Boot,提供了一整套微服务解决方案,而Dubbo是阿里的RPC框架,适合Java技术栈。gRPC是谷歌推出的基于protobuf的高性能RPC框架,支持HTTP2。此外,文章还解释了熔断、RPC、契约编程模型和HTTP2等关键概念。
摘要由CSDN通过智能技术生成

前言

前面主要理解什么是微服务,它与传统的单体服务有什么区别,他们各自的优缺点以及为什么我要考虑微服务改造。从现在开始,我们深入的研究一下,微服务架构它有哪些比较常见的选型,并且理解一下一些常见的专业名称含义。

服务框架选型

目前从我在网上看了那么多的资料来说,服务框架是一个比较成熟的领域,有太多可选项。本次我们主要了解几个最为突出的两个服务框架,Spring CloudDubbogRPC

Spring Cloud

Spring Cloud基于 Spring Boot,为微服务体系开发中的架构问题,提供了一整套的解决方案——服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理等。由于 Spring 社区的影响力和 Netflix 的背书,目前可以认为是构建 Java 微服务的一个社区标准。

基于 Spring 的框架本质上可以认为是一种 RESTful 框架(不是 RPC 框架),序列化协议主要采用基于文本的 JSON,通讯协议一般基于 HTTP。RESTful 框架天然支持跨语言,任何语言只要有 HTTP 客户端都可以接入调用,但是客户端一般需要自己解析 payload。目前 Spring 框架也支持 Swagger 契约编程模型,能够基于契约生成各种语言的强类型客户端,极大方便不同语言栈的应用接入,但是因为 RESTful 框架和 Swagger 规范的弱契约特性,生成的各种语言客户端的互操作性还是有不少坑的。

Dubbo

Dubbo是阿里多年构建生产级分布式微服务的技术结晶,服务治理能力非常丰富,在国内技术社区具有很大影响力。Dubbo 本质上是一套基于 Java 的 RPC 框架,当当 Dubbox 扩展了 Dubbo 支持 RESTful 接口暴露能力。

Dubbo 主要面向 Java 技术栈,跨语言支持不足是它的一个弱项,另外因为治理能力太丰富,以至于这个框架比较重,完全用好这个框架的门槛比较高,但是如果你的企业基本上投资在 Java 技术栈上,选 Dubbo 可以让你在服务框架一块站在较高的起点上,不管是性能还是企业级的服务治理能力,Dubbo 都做的很出色。新浪微博开源的 Motan也不错,功能和 Dubbo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值