钻戒网站建设需求,现在网站建设的技术,用手机做网站视频,领硕网站seo优化目录
第一点#xff1a; 什么是微服务架构
第二点#xff1a;为什么需要学习Spring Cloud
第三点#xff1a; Spring Cloud 是什么
第四点#xff1a; SpringCloud的优缺点
1、SpringCloud优点
2、SpringCloud缺点
第五点#xff1a; SpringCloud由什么组成
1 什么是微服务架构
第二点为什么需要学习Spring Cloud
第三点 Spring Cloud 是什么
第四点 SpringCloud的优缺点
1、SpringCloud优点
2、SpringCloud缺点
第五点 SpringCloud由什么组成
1Spring Cloud Eureka
2Spring Cloud Zuul
3Spring Cloud Ribbon
4Spring Cloud Feign
5Spring Cloud Hystrix
6Spring Cloud Config
总结 我们知道Spring Cloud利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等都可以用Spring Boot的开发风格做到一键启动和部署。 通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。 那在深入学习SpringCloud前我们需要对其全貌有一个基础了解方能知道为什么学习SpringCloud。 第一点 什么是微服务架构 在知道为什么学SpringCloud之前我们需要先知道一个概念微服务。
微服务架构就是将单体的应用程序分成多个应用程序这多个应用程序就成为微服务每个微服务运行在自己的进程中并使用轻量级的机制通信。这些服务围绕业务能力来划分并通过自动化部署机制来独立部署。这些服务可以使用不同的编程语言不同数据库以保证最低限度的集中式管理。 第二点为什么需要学习Spring Cloud 首先SpringCloud是基于SpingBoot的优雅简洁还记得我们被无数xml支配的恐惧场景吗还记得SpringMVCMybatis错综复杂的配置吗有了SpingBoot这些东西就都不需要了SpingBoot好处就不多说了。
而SpringCloud就是基于SpringBoot把市场上优秀的服务框架组合起来通过Spring Boot风格进行再封装并且屏蔽掉了复杂的配置和实现原理做到了开箱即用很多都是通过引入JAR包来完成。
另外SpringCloud大多数子模块都是为了解决现有痛点像Zuul解决的跨域Fegin解决的负载均衡Hystrix的熔断机制等。
第三点 Spring Cloud 是什么 Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等都可以用Spring Boot的开发风格做到一键启动和部署。 第四点 SpringCloud的优缺点
1、SpringCloud优点 1) 耦合度比较低。不会影响其他模块的开发。 2) 减轻团队的成本可以并行开发不用关注其他人怎么开发先关注自己的开发。 3) 配置比较简单基本用注解就能实现不用使用过多的配置文件。 4) 微服务跨平台的可以用任何一种语言开发。 5) 每个微服务可以有自己的独立的数据库也有用公共的数据库。 6) 直接写后端的代码不用关注前端怎么开发直接写自己的后端代码即可然后暴露接口通过组件进行服务通信。
2、SpringCloud缺点
1) 部署比较麻烦给运维工程师带来一定的麻烦。
2) 针对数据的管理比麻烦因为微服务可以每个微服务使用一个数据库。
3) 系统集成测试比较麻烦
4) 性能的监控比较麻烦。 第五点 SpringCloud由什么组成
SpringCloud组成有很多这里我讲几个开发中重要的模块。 1Spring Cloud Eureka
Spring Cloud Eureka是一套服务注册与发现组件 。Eureka区别于传统的ELB负载均衡。Eureka则属于客户端发现模式客户端负责决定相应服务实例的网络位置并且对请求实现负载均衡。客户端从一个服务注册服务中查询所有可用服务实例的库并缓存到本地。 关于Spring Cloud Eureka的优势我们将在后面的文章进行分析。 2Spring Cloud Zuul
Zuul是Netflix开源的微服务网关可以和Eureka、Ribbon、Hystrix等组件配合使用Spring Cloud对Zuul进行了整合与增强Zuul默认使用的HTTP客户端是Apache HTTPClient也可以使用RestClient或okhttp3.OkHttpClient。 Zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分比如demo/test转发到到demo服务。 zuul默认和Ribbon结合实现了负载均衡的功能。 3Spring Cloud Ribbon
Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具。通过Spring Cloud的封装可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。 说明Spring Cloud Ribbon虽然只是一个工具类框架它不像服务注册中心、配置中心、API网关那样需要独立部署但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用API网关的请求转发等内容实际上都是通过Ribbon来实现的。 4Spring Cloud Feign
Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Spring Cloud对Feign进行了封装使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。 Feign也支持可拔插式的编码器和解码器。 5Spring Cloud Hystrix
Hystrix可以让我们在分布式系统中对服务间的调用进行控制加入一些调用延迟或者依赖故障的容错机制。Hystrix通过将依赖服务进行资源隔离进而组织某个依赖服务出现故障的时候这种故障在整个系统所有的依赖服务调用中进行蔓延同时Hystrix还提供故障时的fallback降级机制。 总而言之Hystrix通过这些方法帮助我们提升分布式系统的可用性和稳定性。 6Spring Cloud Config
Spring Cloud Config 是由 Spring Cloud 团队开发的项目它可以为微服务架构中各个微服务提供集中化的外部配置支持。Spring Cloud Config 可以将各个微服务的配置文件集中存储在一个外部的存储仓库或系统例如 Git 、SVN 中对配置的统一管理以支持各个微服务运行。 其他组件会在后面的课程当中注意介绍。 总结
总的来说优点大过于缺点目前看来Spring Cloud是一套非常完善的分布式框架目前很多企业开始用微服务、Spring Cloud的优势是显而易见的。因此对于想研究微服务架构的同学来说学习Spring Cloud是一个不错的选择。
以上