在Spring Cloud生态体系内,最核心的五大部件成就了它如今的辉煌:
1、注册中心
在Spring Cloud中,注册中心有多个方案可选:Eureka、Zookeeper、Consul。
目前使用最多的是Eureka,如果熟悉阿里Dubbo框架的话,也可以采用Zookeeper作为注册中心,毕竟熟悉的东西用起来更得心应手。
2、配置中心
Spring Cloud Config承担了微服务架构中的配置中心角色,实现了配置的统一管理和调度
3、服务网关
Spring Cloud集成了Netflix的Zuul 1.x作为服务网关,微服务群体一般处于一个封闭的局域网内,Spring Cloud的服务网关负责对外开放唯一的调度入口。
在Greenwish及更高版本的Spring Cloud中,开始使用Spring Cloud Gateway作为服务网关,因为Zuul 1.x基于Servlet 2.5,是一个阻塞型架构,不支持长连接;虽然Zuul 2.x基于Netty框架,但是目前Spring Cloud并没有意向整合Zuul 2.x。
Spring Cloud Gateway基于Project React框架,属于非阻塞型NIO架构,支持长连接和WebSocket,预计不就将会逐渐成为官方推荐的网关组件。
4、服务容错
Spring Cloud集成了Netflix的Hystrix作为服务容错组件,解决了微服务间雪崩故障问题。
5、服务调用
Spring Cloud中的Ribbon为服务调用提供了最核心的技术服务:负载均衡;Ribbon通过在客户端实现负载均衡的方式,对各个微服务提供业务调用时的负载均衡功能。但是,由于Ribbon通常是搭配RestTemplate进行服务调用,使用起来没有那么便捷;因此便衍生出更强大的服务调用组件:Feign。
Feign对Ribbon进行了封装和强化,在开发微服务项目时,可以将调用其它微服务的模块像调用数据的Mapper模块一样,生成对应的Feign模块;例如:UserMapper实现对User表的操作,UserFeign实现对User微服务接口的操作;UserMapper一般存放在【cn.org.x-core.edusys.db.basic.mapper.UserMapper】包中,UserFeign则类似的存放在【cn.org.x-core.edusys.feign.UserFeign】包中。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/10475.html