赞
踩
SpringCloud Netflix是SpringCloud微服务框架的第一代实现,它的所有组件几乎都在Netflix产品上做的封装。而且,SpringCloud Netflix项目已经入维护状态。进入维护状态,意味着Netfli相关部门不再向模块添加新功能,而且不再处理相关Bug异常。为了使用高性能的微服务框架,急需开发SpringCloud Netflix的替代品,Alibaba基于公司业务开发了SpringCloudAlibaba微服务框架,是一次能力的增强和扩展,是SpringCloud的第二代实现。
SpringCloudAlibaba的典型架构如下图所示:
SpringCloudAlibaba包含GateWay(高性能异步非阻塞网关)、Nacos(注册中心与配置中心)、Sentinel(熔断与降级组件)、Dubbo(高性能RPC通信框架)、Seata(高性能和简单易用的分布式事务服务)、RocketMQ(高性能高可靠消息中间件)等。前段基于Nginx负载均衡策略进行域名解析,后端服务基于Ribbon做负载均衡。
特点:
Nacos 是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,主要的功能有注册中心和配置中心。Nacos可以同时作为注册中心和配置中心,默认情况注册中心采用Distro协议(AP),配置中心采用Raft(CP)。Nacos client可以通过ephemeral属性设置节点为临时节点或持久节点,临时节点对应了Distro协议,持久节点对应Raft协议。它的使用,大概如下图所示:
Sentinel是对SpringCloud Netflix 的Hystrix组件的进一步的优化,大多数是参照Hystrix的核心理念设计的。 Sentinel 以阿里巴巴集团近 10 年的双十一大促流量的核心场景为基础,能够实现消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。Sentinel 同时还提供实时的监控功能。在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。它还具有广泛的开源生态, Sentinel 提供开箱即用的与其它开源框架/库的整合模块,引入依赖即可使用,它的功能如下图所示:
OpenFeign是一个显示声明式的WebService客户端。使用OpenFeign能让编写Web Service客户端更加简单。使用时只需定义服务接口,然后在上面添加注解。
SpringCloud对Feign进行了封装,支持MVC注解和HttpMessageConverts。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样方便。
Feign和OpenFeign作用一样,都是进行远程调用的组件。里面都内置了Ribbon。都是加在消费端的注解,让消费端可以调用其他生产者的服务。它们使用方式不同,Feign直接加在接口上并且不支持SpringBoot注解。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。