![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring cloud
Spring cloud学习笔记
zhiguo.zheng
不畏将来,不念过往
展开
-
Spring cloud中Zuul的使用简单示例(Spring cloud学习笔记 8)
一、API Gateway1.1 概念API Gateway也就是服务网关,在微服务架构中,每个客户端需要调用一个或者多个API。有了API Gateway之后,用户的所有请求都直接发送到这个服务网关上,再由它进行转发,API Gateway起到了对服务进行聚合的作用。API Gateway负责请求转发、组合及协议转换。客户端的所有请求都要先经过API Gateway,然后由它将请求路由到对...原创 2020-02-05 20:16:36 · 1567 阅读 · 0 评论 -
Spring cloud中Hystrix的使用简单示例(Spring cloud学习笔记 6)
一、当前架构问题分析1.1 问题分析我们当前的架构如下图所示,使用Eureka进行服务发现服务注册,客户端使用Ribbon进行负载均衡。现在我们假设一种情况,如果服务提供者的响应非常缓慢,那么服务消费者对服务提供者的请求就会被强制等待,直到http请求超时,然后抛出异常。那么在高负载场景下,如果不做任何处理,这种问题很可能造成所有处理用户请求的线程都被耗竭,而不能响应用户的进一步请求。1....原创 2020-02-02 20:24:52 · 427 阅读 · 0 评论 -
Spring cloud系列专栏目录
本篇为Spring cloud专栏的目录,方便大家查阅1. 微服务架构详细讲解——为什么要使用微服务架构,它的优点设计原则2. Spring cloud实现微服务最简单的入门demo3. Spring cloud 解决硬编码问题——服务发现与服务注册4. Spring cloud中Eureka的使用简单示例5. Spring cloud中Ribbon的使用简单示例6. Spring c...原创 2020-02-08 19:06:39 · 330 阅读 · 0 评论 -
Spring cloud中Spring Cloud Config的使用简单示例(Spring cloud学习笔记 9)
一、当前架构问题分析1. 配置不能集中管理在我们的微服务架构中可能有几百个微服务,如果单独去管理每一个微服务那么我们来假设一种情况。有一天我们的数据源发生了变化,那么每个微服务都要去做相应的修改然后再重新启动,这个维护成本是极大的。2. 无法做到不同环境不同配置开发过程中会有开发环境、测试环境、生产环境等。他们的配置都是不一样的,虽然对于某一个微服务我们可以通过配置文件中的spring....原创 2020-02-07 20:56:08 · 483 阅读 · 0 评论 -
微服务架构详细讲解——为什么要使用微服务架构,它的优点设计原则等(Spring cloud学习笔记 1)
一、传统的单体架构1. 什么是单体架构?如下图所示的这种单体架构,也是我们接触的最多的架构。一个归档包(如war包)包含了应用的所有功能模块,然后发布到如tomcat的服务器中进行使用2. 单体架构的缺点复杂性高如果遇到大型项目,整个项目包含的模块非常多,模块的边界可能比较模糊,依赖关系不清晰,代码质量也参差不齐,整个项目将会非常复杂。每次修改代码,添加一个简单的功能,或者修改一个B...原创 2020-01-23 12:40:30 · 802 阅读 · 0 评论 -
Spring cloud实现微服务最简单的入门demo(Spring cloud学习笔记 2)
一、服务提供者与服务消费者既然是微服务架构也就必然存在服务间的相互通信,所以我们要明确两个概念也就是服务提供者与服务消费者。服务提供者:服务的被调用方,供其他服务调用(也就是为其他服务提供服务)服务消费者:服务的调用方,需要调用其他服务来完成请求。如下图所示可以看出,人发起购买车票的请求,车票微服务接收请求并处理请求(如判断余票是否充足),同时车票微服务也要向用户微服务发送请求,获取用户相...原创 2020-01-26 11:20:26 · 1437 阅读 · 2 评论 -
Spring cloud中Feign的使用简单示例(Spring cloud学习笔记 7)
一、简介Feign是Netflix开发的声明式的Http客户端,使用时只需要创建一个接口,并在接口上添加注解就可以。Feign支持自带的注解和JAX-RS注解等。Spring cloud对Feign进行了增强,Feign支持了Spring MVC的注解,并且整合了Ribbon和Eureka,从而让Feign的使用更加方便。二、对服务消费者添加Feign支持问题回顾:之前我们在服务消费者(车...原创 2020-02-03 17:59:31 · 1024 阅读 · 0 评论 -
Spring cloud中Ribbon的使用简单示例(Spring cloud学习笔记 5)
一、Ribbon简介二、利用Ribbon解决车票微服务中的硬编码问题问题回顾之前我们在TicketService中的 url是写死的,而我们现在已经会使用Eureka了,在配合上ribbon就可以去eureka中查询服务地址了。2.1 修改车票微服务启动类,添加负载均衡的注解打开车票微服务的pom文件,可以看到eureka的依赖中整合了ribbon,所以我们就不需要单独去添加ribbo...原创 2020-01-31 13:46:00 · 2681 阅读 · 0 评论 -
Spring cloud中Eureka的使用简单示例(Spring cloud学习笔记 4)
一、Eureka简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。Spring Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring Cloud的服务发现功能。二、Eureka原理下图就是Eureka官方的架构图,大致描述了Eureka集群...原创 2020-01-30 15:05:51 · 486 阅读 · 0 评论 -
Spring cloud 解决硬编码问题——服务发现与服务注册(Spring cloud学习笔记 3)
一、什么是硬编码问题在我的上一篇关于实现微服务的简单demo博客中,我是将接口请求地址写死在代码中。这就带来了问题,如果接口地址发生变化,那我就需要去代码中进行修改,这样就很不方便。而且现在只是两个微服务,如果有几百个微服务,怎么可能去一个一个修改,所以我们要解决这个问题。二、尝试解决硬编码问题将请求的url写到application.properties文件中这样虽然比之前直接写到代...原创 2020-01-26 17:13:10 · 548 阅读 · 0 评论