700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 微服务框架有哪些?如何选择?

微服务框架有哪些?如何选择?

时间:2023-02-26 06:42:20

相关推荐

微服务框架有哪些?如何选择?

在微服务开发中,微服务框架通常选择 Spring Boot 和Spring Cloud,目前,国内使用较多的微服务框架主要有Dubbo和Spring Cloud,Dubbo是国内开源,在国内被使用广泛。Spring Cloud微服务组件丰富、版本更新快。很多开发者在选型时候也会遇到一些困惑,如何选择适用于项目的微服务框架?下面主要介绍Dubbo服务框架和SpringCloud微服务框架之间的差异。

一、Dubbo微服务框架

Dubbo是阿里巴巴开源的高性能、轻量级的开源JavaRPC框架,提供接口远程调用、负载均衡、自动注册的3个主要的核心功能。总的来说:Dubbo 就是一个服务框架,是一个远程服务调用的分布式框架。Dubbo 服务框架如下图所示:

Dubbo 服务框架

1.模块说明

(1)Provider暴露服务的提供者。

(2)Consumer调用远程服务的消费者。

(3)Registry∶服务注册与发现的注册中心。

(4)Monitor∶ 统计服务的调用次数和调用时间的监控中心。

(5)Container服务的运行容器。

2.流程说明

0:Container服务的运行容器,运行并提供服务。

1:注册时候提供服务服务。

2:注册中心向消费者提供订阅服务。

3:notify将最新的数据推送给消费者。

4:invoke服务消费者,保证服务不中断;

5∶count为消费者和提供者,提供数据统计的服务。

3.Dubbo服务框架的六大特点

(1)提供高性能的远程调用功能,以接口粒度提供服务,屏蔽远程调用底层相关细节。

(2)自动的负载均衡功能,通过各种负载均衡策略,自动调节资源使用情况。

(3)服务自动注册与发现∶支持多种注册中心服务,服务实例上下线实时感知。

(4)高度可扩展能力∶遵循微「内核+插件」的设计原则,所有核心能力(如Protocol、Transport、Serialization)被设计为扩展点,平等对待内置实现和第三方实现。

(5)运行期流量调度∶ 内置条件、脚本等路由策略, 配置不同的路由规则,可以轻松实现灰度发布,以及同一机房服务优先调用等功能。

(6)可视化的服务治理与运维∶ 提供丰富的服务治理和运维工具, 如随时查询服务元数据、服务健康状态及调用统计,以及实时下发路由策略、调整配置参数。

二、Spring Cloud微服务框架

Spring Cloud 是微服务框架的有序集合,利用 Spring Boot 的开发便利性可以简化分布式系统基础组件的开发和使用,同时为开发人员提供了快速构建分布式系统中常见组件的工具,如配置管理、服务发现、熔断器、智能路由、控制总线、网关等功能。Spring Cloud 微服务框架如下图所示:

Spring Cloud 微服务框架

Spring Cloud 微服务框架主要包括EUREKA、Zuul、CONFIGSERVICE、Hystrix Dashboard、Turbine等组件,另外,负载均衡组件Ribbon内嵌在服务调用中。

组件说明如下:

(1)EUREKA服务注册与发现的注册中心。

(2)Zuul网关和路由。

(3)CONFIG SERVICE∶分布式配置服务。

(4)Hystrix Dashboard∶服务熔断监控组件。

(5)Turbine服务调用汇集展示。

EUREKA组件实现了服务的注册与发现,服务相互之间调用时,通过服务名称即可完成接口服务调用,而隐藏了服务的部署地址及部署数量等信息。EUREKA组件使用时分为客户端和服务端∶客户端完成服务向服务端的注册;服务端接收服务注册,同时提供服务发现功能。

Spring Cloud 微服务框架还包含两个常用组件∶Ribbon和Zipkin。Ribbon是客户端负载均衡组件,Zipkin是调用链追踪组件。

三、Dubbo微服务框架和SpringCloud微服务框架的对比

远程调用Dubbo服务框架和SpringCloud微服务框架都可以作为微服务的基础开发与运行框架。Dubbo服务框架和SpringCloud微服务框架的对比如下表所示:

Dubbo服务框架不提供服务网关、分布式配置、服务跟踪等6个组件,只能通过第三方组件来帮助实现其功能。组件调用的侵入性以及社区成熟度和活跃度,Spring Cloud微服务框架作为项目微服务化改造过程中开发和运行的基础框架。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。