
Spring Cloud 笔记
文章平均质量分 90
xym222
这个作者很懒,什么都没留下…
展开
-
Docker入门--11
《Spring Cloud与Docker微服务架构实战》周立 --笔记11.1 Docker简介Docker是一个开源的容器引擎,有助于更快地交付应用。Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker,可快速地打包,测试,以及部署应用程序,并缩短从编写到部署运行代码地周期。11.2 Docker的架构Docker的架构图:其中包含的组件:Docker daemon(Docker守护进程):Docker daemon是一个运行在宿主机(Doc.原创 2020-07-27 15:00:23 · 109 阅读 · 0 评论 -
Spring Cloud使用Spring Cloud Sleuth实现微服务跟踪--10
《Spring Cloud与Docker微服务架构实战》周立 --笔记10.1 为什么要实现微服务跟踪微服务之间通过网络进行通信,如果能够跟踪每个请求,了解请求经过哪些微服务(了解信息如何在服务之间流动),请求耗时,网络延时,业务逻辑,耗费时间等标志,就能够更好的分析系统瓶颈,解决系统问题,因此,微服务跟踪很有必要10.2 Spring Cloud Sleuth简介Spring Cloud Sleuth为Spring Cloud提供了分布式跟踪的解决方案,Sleuth中的术语:span(跨.原创 2020-07-27 13:04:51 · 112 阅读 · 0 评论 -
Spring Cloud使用Spring Cloud Config统一管理微服务配置--09
《Spring Cloud与Docker微服务架构实战》周立 --笔记9.1 为什么要统一管理微服务配置微服务架构中,微服务的配置管理一般有以下需求:集中管理配置不同环境,不同配置运行期间可动态调整修改配置后可自动更新9.2 Spring Cloud Config简介Spring Cloud Config为分布式系统外部化配置提供了服务端和客户端的支持,包括Config Server和Config Client两部分。Config Server用于集中管理应用程序各个环境下的配置,默.原创 2020-07-27 11:31:01 · 97 阅读 · 0 评论 -
Spring Cloud使用Zuul构建微服务网关--08
《Spring Cloud与Docker微服务架构实战》周立 --笔记8.1 为什么要使用微服务网关从前面的章节知道,不同微服务具有不同的网络地址,,而外部客户端可能需要调用多个服务的接口节能完成一个业务需求。例如,一个电源购票的手机APP,可能调用多个微服务的接口才能完成一次购票业务:如果让客户端直接与各个微服务通信,会有以下问题:客户端会多次请求不同的微服务,增加客户端的复杂性。存在跨域请求,在一定场景下处理相对复杂认证复杂,在一定场景下处理相对复杂难以重构,随着项目的迭代,可能需.原创 2020-07-24 15:23:12 · 109 阅读 · 0 评论 -
Spring Cloud使用Hystrix实现微服务的容错处理--07
《Spring Cloud与Docker微服务架构实战》周立 --笔记前面Eureka实现类服务的注册与发现,Ribbon实现了客户端侧的负载均衡,Feign是实现了声明式的REST API的调用。这里讨论Hystrix如何实现微服务的容错。7.1 实现容错的手段如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到提供者响应或者超时。在高负载情况下,如果不做任何处理,此类问题会最终导致服务消费者的资源耗竭甚至整个系统崩溃。需要考虑的问题:服务提供者不可用时,服务消费者会不会被.原创 2020-07-22 17:09:55 · 152 阅读 · 0 评论 -
Spring Cloud使用Feign实现REST API的调用--06
《Spring Cloud与Docker微服务架构实战》周立 --笔记在硬编码实现微服务之间的调用时,使用RestTemplate对REST API进行调用,这里采用的是拼接字符串的方式构造URL。但当URL中有很多参数时,使用这种方式很低效,且难以维护。Feign可以更方便地实现REST APP的调用。5.1 Feign简介Feign是Netflix开发的声明式,模板化的HTTP客户端,使得调用HTTP API更加便捷。Spring cloud对Feign进行了增强,使得Feign支持Spri.原创 2020-07-22 16:07:16 · 386 阅读 · 0 评论 -
Spring Cloud使用Ribbon实现客户端侧负载均衡--05
《Spring Cloud与Docker微服务架构实战》周立 --笔记启动所有微服务时,Eureka Client会把自己的网络信息注册到Eureka Server上。实际生产环境中,每个微服务一般会部署多个实例,那么服务消费者如何将请求分摊到多个服务提供者的实例上?–负载均衡器Ribbon5.1 Ribbon简介负载均衡器Ribbon有助于控制HTTP和TCP客户端行为,为Ribbon配置服务提供者列表后,Ribbon就可基于某种负载均衡算法,自动帮助服务消费者去请求。在Spring Clou.原创 2020-07-20 15:12:49 · 104 阅读 · 0 评论 -
Spring Cloud微服务注册与发现--04
《Spring Cloud与Docker微服务架构实战》周立 --笔记服务发现简介前面我们知道硬编码提供者地址存在许多问题,在微服务架构中,服务发现组件可以解决这些问题,让服务消费者无需修改配置就可动态获取服务提供者网络信息。提供这种能力,服务发现组件的架构图为:服务发现组件,服务提供者,服务消费者三者之间的关系为:(1) 所有微服务启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件存储这些信息。–服务注册,服务注册表(2) 服务消费者可从服务发现组件查询服务提供者的网络地址.原创 2020-07-18 20:03:59 · 118 阅读 · 0 评论 -
Spring Boot硬编码实现服务之间的调用(MySQL+Mybatis持久层框架)--03
之前使用Spring Boot建表时,没有配合使用Mybatis框架,直接在顶层包编写一个类,利用JdbcTemplate和@PostConstruct注解进行数据表的建立和初始化。引入了Mybatis框架后,原来的DatabaseInitializer 类不能成功的建表,导致报错。查了资料后,决定在此记录一下。在eclipse中新建一个Spring Boot工程,具体建表方法如下:工程目录大家命名可随意,我这里是为了实现一个服务提供者而命名。引入所需依赖–pom.xml文件<?xml原创 2020-07-18 13:26:50 · 260 阅读 · 0 评论 -
微服务架构概述--01
微服务架构概述 《Spring Cloud与Docker微服务架构实战》第二版周立--笔记1.1 单体应用架构存在的问题一个war包包含的所以应用程序,称为单体应用,对应着单体架构。单体的UI和若干业务模块被包含在一个war包中,扩展时只能作为一个整体进行扩展,无法根据业务模块的需要进行伸缩。并且单体应用往往使用统一技术平台解决所有问题,引入新框架或新技术非常困难。以电影售票系统为例,电影售票系统单体架构示意图:随着业务需求的发展,功能逐渐增多,单体架构很难满足业务快速变化的需要,为了解决单体原创 2020-07-17 15:21:23 · 162 阅读 · 0 评论 -
微服务开发框架Spring Cloud简介--02
《Spring Cloud与Docker微服务架构实战》笔记1.1 Spring Cloud简介Spring Cloud是在Spring Boot的基础上构建的,用于快速构建分布式系统的通用模式工具集。使用Spring Cloud开发的应用程序非常适合在Docker或者PaaS上部署。Spring Cloud特点(1)约定优于配置 (2)适用于各种环境,例如本地和云环境。(3)隐藏了组件的复杂性,提供声明式,无xml配置方式(4)轻量级组件Spring Cloud/Spring Boo.原创 2020-07-17 15:47:02 · 146 阅读 · 1 评论