作者自前年入职某国企,接触到Spring Cloud微服务架构,踏上了Spring Cloud的踩坑之路。
一、Spring Cloud的概念
Spring Cloud是基于Spring Boot封装出来的专门为微服务实现提供的一套解决方案,其包括服务注册、配置中心、服务网关、全链路监控,消息总线、负载均衡、熔断器等组件。
Spring Cloud利用了SpringBoot的开发便利性(特别是注解以及yml配置文件)巧妙的简化了分布式系统基础设施的开发,Spring Cloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、地址路由、微代理、事件总线、全局锁、决策竞选、分布式 会话等。
二、Spring Cloud的特性
1.分布式/版本化配置(天然具备分布式部署能力)
2.服务注册和发现(也可采取第三方组件如nacos作为服务注册和配置中心)
3.统一路由
4.服务之间通过暴露接口实现调用
5.负载均衡
6.断路器(防止因为单个服务问题导致整个服务瘫痪)
三、Spring Cloud的特点
1.约定优于配置
2.开箱即用、快速启动
3.组件支持丰富,功能齐全
4.适用于各种环境
四、Spring Cloud的核心组件
1.服务注册发现(Netflix Eureka)
2.配置中心(Spring Cloud Config)
3.负载均衡(Netflix Ribbon)
4.断路器(Netflix Hystrix)
5.网关路由(Netflix Zuul)
五、Spring Cloud的包组成
1.Spring Cloud Netflix:是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册、负载均衡、断路器、Rest客户端,请求路由等
2.Spring Cloud Config:将配置信息中央化保存,配置Spring Cloud Bus或者github可以实现动态修改配置文件
3.Spring Cloud Bus:分布式消息队列,是对kafka,MQ的封装
4.Spring Cloud Security:对Spring Cloud Security的封装,并能配合Netflix使用
5.Spring Cloud Zookeeper : 对Zookeeper的封装,使之能配置其他Spring Cloud的子项目使用
6.Spring Cloud Eureka:Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能
六、Spring Cloud的优势
1.Spring Cloud来源于Spring,质量,稳定性,持续性都可以得到保证
2.Spring Cloud天然支持Spring Boot,更加便于业务落地
3.Spring Cloud开源,社区活跃度非常高
4.Spring Cloud是Java领域最适合做微服务的框架
5.相比于其他框架,Spring Cloud对微服务周边环境的支持力度最大
6.对于中小企业来讲,使用门槛较低
7.Spring Cloud是微服务架构的最佳落地方案
七、Spring Cloud的推荐开发工具
IntelliJ IDEA - JAVA开发神器,别问,赶紧使用它吧
八、小结
本文主要对Spring Cloud进行整体的介绍,接下来作者会利用闲暇时间对Spring Cloud 2.2.4开发参考指南(Spring Boot Reference Documentation)进行学习整理,以便对Spring Cloud有更深入的理解。
网友评论