《Spring Cloud微服务:入门、实战与进阶》 读书笔记

SpringCloud官网:https://spring.io/projects/spring-cloud

《Spring Cloud微服务:入门、实战与进阶》

微服务架构是一种架构风格,而Spring Cloud是实现微服务架构的一系列框架的有序集合。

书涉及的源码均可在https://github.com/yinjihuan/spring-cloud中下载。如果下载失败,也可以发邮件给笔者[email protected],或者关注微信公众号“猿天地”,直接与笔者交流。

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务注册、服务发现、配置中心、消息总线、负载均衡、断路器、数据监控等,这些都可以用SpringBoot的开发风格做到一键启动和部署。通俗地讲,Spring Cloud就是用于构建微服务开发和治理的框架集合(并不是具体的一个框架),主要贡献来自Netflix OSS。

1.3.1 Spring Cloud模块介绍

 

Spring Cloud模块的相关介绍如下:

❑ Eureka:服务注册中心,用于服务管理。

❑ Ribbon:基于客户端的负载均衡组件。

❑ Hystrix:容错框架,能够防止服务的雪崩效应。

❑ Feign:Web服务客户端,能够简化HTTP接口的调用。

❑ Zuul:API网关,提供路由转发、请求过滤等功能。

❑ Config:分布式配置管理。

❑ Sleuth:服务跟踪。

❑ Stream:构建消息驱动的微服务应用程序的框架。

❑ Bus:消息代理的集群消息总线。除了上述模块,还有Cli、Task……。本书只介绍一些常用的模块。

Spring Cloud是一个非常好的框架集合,它包含的功能模块非常多,这里不可能一一讲解到,凡是在本书中出现的模块都是真实开发中用得到的。对于那些没有在本书中进行讲解的模块,大家也可以自行学习,当然有任何问题也可以咨询笔者。[插图]

 

2.3 Spring Boot Starter自定义

Spring Boot的便利性体现在,它简化了很多烦琐的配置,这对于开发人员来说是一个福音,通过引入各种SpringBoot Starter包可以快速搭建出一个项目的脚手架。

目前提供的Spring Boot Starter包有:

❑ spring-boot-starter-web:快速构建基于Spring MVC的Web项目,使用Tomcat做默认嵌入式容器。

❑ spring-boot-starter-data-redis:操作Redis。

❑ spring-boot-starter-data-mongodb:操作Mongodb。

❑ spring-boot-starter-data-jpa:操作Mysql。

❑ spring-boot-starter-activemq:操作Activemq。

❑ ……

自动配置非常方便,当我们要操作Mongodb的时候,只需要引入spring-boot-starter-data-mongodb的依赖,然后配置Mongodb的链接信息spring.data.mongodb.uri = mongodb://localhost/test就可以使用MongoTemplate来操作数据,MongoTemplate的初始化工作全部交给Starter来完成。

自动配置麻烦的是当出现错误时,排查问题的难度上升了。自动配置的逻辑都在Spring Boot Starter中,要想快速定位问题,就必须得了解Spring Boot Starter的内部原理。接下来我们自己动手来实现一个Spring BootStarter。

 

 

 

 

 

 

 

你可能感兴趣的:(spring,boot)