常见的微服务架构框架类型都有哪些

治愈白癜风要多少钱 http://www.zgbdf.net/m/

  我们在前几期的文章中给大家简单介绍了微服务架构技术应用等基础知识,而本文我们就继续来学习一下,常见的微服务架构框架类型都有哪些。

  SpringBoot

  SpringBoot是用来简化新Spring应用的初始搭建以及开发过程的。其虽然不是微服务框架,但其设计的初衷本质就是微应用的底层框架,因此非常适合用于微服务基础设施的开发以及微服务的应用开发。

  尤其对于Spring技术栈的团队来说,基于SpringBoot开发微服务框架和应用是自然而然的一个选择。   DubboMotan

  Dubbo是阿里开源的服务治理框架。其出现在微服务理念兴起之前,可以看做是SOA框架的集大成之作。

  但其仅仅包含了微服务基础设施的部分功能,诸如熔断、服务跟踪、网关等都没有实现:

  服务发现:服务发布、订阅、通知。

  高可用策略:失败重试(Failover)、快速失败(Failfast)、资源隔离-负载均衡:少活跃连接、一致性Hash、随机请求、轮询等。

  扩展性:支持SPI扩展(serviceproviderinterface)。

  其他:调用统计、访问日志等。

  Motan则是微博开源的类似Dubbo的RPC框架,与Dubbo相比更轻量级。

  SpringCloud

  SpringCloud是基于SpringBoot实现的微服务框架,也可以看做一套微服务实现规范。   基本涵盖了微服务基础设施的方方面面,包括配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等。

  其基于Spring生态,社区支持非常好。但其很多组件都没有经过生产环境验证,需要慎重选择。

  SpringCloudNetflix是SpringCloud的一个子项目,是Spring对NetflixOSS的集成实现。

  基于Netflix的大规模使用,其中的已经被广泛使用的组件包括:

  Eureka:服务注册和服务发现

  Ribbon:弹性而智能的进程间和服务通讯机制,客户端负载均衡

  Hystrix:熔断器,在运行时提供延迟和容错的隔离

  ServiceMesh

  上述的微服务框架都是侵入式的,服务化的过程都需要进行代码改造。ServiceMesh则是下一代微服务架构,明显的特征就是无入侵。采用Sidecar模式来解决系统架构微服务化后的服务间通信和治理问题。

  目前主流的开源实现包括:

  Linkerd和Envoy:以Sidecar为核心,   Istio和Conduit:目前为流行的ServiceMesh实现方案,集中在更加强大的控制平面(Sidecar被称为数据平面)功能。

  前者由Google和IBM合作,并使用了Envoy作为Sidecar部分的实现;后者则是Linkerd作者的作品。

  相比起来,Istio有巨头背景,功能强大,但可用性和易用性一直不高,Conduit则相对简单、功能聚焦。

  限于ServiceMesh带来的性能延迟的开销以及Sidecar对分布复杂性的增加,其对大规模部署(微服务数目多)、异构复杂(交互协议/开发语言类型多)的微服务架构带来的收益会更大。



转载请注明:http://www.sinoeverlife.com/glspp/13389.html

网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

当前时间: