SpringCloud
文章平均质量分 90
L星火燎原
落花虽有月,流水却无情。
展开
-
REDIS缓存穿透、缓存击穿、缓存雪崩
一、前言在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而存在严重的性能弊端,一瞬间成千上万的请求到来,需要系统在极短的时间内完成成千上万次的读/写操作,这个时候往往不是数据库能够承受的,极其容易造成数据库系统瘫痪,最终导致服务宕机的严重生产问题。为了克服上述的问题,转载 2021-11-17 16:08:47 · 82 阅读 · 0 评论 -
微服务架构下静态数据通用缓存机制
在分布式系统中,特别是最近很火的微服务架构下,有没有或者能不能总结出一个业务静态数据的通用缓存处理机制或方案,这篇文章将结合一些实际的研发经验,尝试理清其中存在的关键问题以及探寻通用的解决之道。什么是静态数据这里静态数据是指不经常发生变化或者变化频率比较低的数据,比如车型库、用户基本信息、车辆基本信息等,车型库这种可能每个月会更新一次,用户和车辆基本信息的变化来源于用户注册、修改,这个操作...转载 2019-02-27 11:12:47 · 155 阅读 · 0 评论 -
SpringCloud之bootstrap
bootstrap.yml介绍bootstrap.yml比application.yml具有更高的优先级。bootstrap.yml是系统级的资源配置项,application.yml是用户级的资源配置项。SpringCloud会创建"BootStrap Context"作为"ApplicationContext"的父上下文。初始化的时候BootStrap Context负责从外部源加载配...原创 2018-12-12 10:02:12 · 12544 阅读 · 2 评论 -
SpringCloud之SpringCloud Config学习
分布式系统面临的配置问题:微服务意味着将单体应用拆分成一个个自服务,这些服务都是要相应的配置信息才能运行,随着系统内微服务数量越来越多,配置信息也不断地增多,所以一套集中式的、动态的配置管理设施是必不可少的。概述SpringCloud Config是一个提供外部集中式配置管理的设施,配置服务器为各种不同的额微服务应用提供了一个中心化的外部配置SpringCloud Config分为客户端和...原创 2018-12-12 09:53:26 · 135 阅读 · 0 评论 -
SpringCloud之Zuul学习
概述代理:Zuul提供外部的请求转发到具体的微服务实例中的服务路由:Zuul可以对外部访问实现统一的入口过滤:Zuul可以对外部访问进行干预,如请求校验、服务聚合等Zuul需要配合Eureka使用,需要在Eureka中注册并获得其他微服务的信息理解:Zuul就像大楼的保安,可以请他找人(代理),找的人在外面叫什么名字(路由),准不准你进楼(过滤)。因为保安属于物业公司,所以保安要在物业...原创 2018-12-12 09:45:39 · 132 阅读 · 0 评论 -
SpringCloud之HystrixDashboard学习笔记
HystrixDashboard服务监控介绍:SpringCloud对Hystrix Dashboard进行了整合,可以对通过Hystrix发起的请求进行准实时统计,并以报表和图形的形式展示给用户(包括每秒执行多少次请求成功和失败等)。配置案例新建HystrixDashboard模块,pom.xml文件加入HystrixDashboard依赖,其他依赖包括Feign,Ribbon,Eure...原创 2018-12-12 09:38:31 · 166 阅读 · 0 评论 -
SpringCloud之Hystrix学习
分布式系统面临的问题扇出多个微服务互相调用的时候,如果A调用B、C,而B、C又继续调用其他微服务,这就是扇出(像一把扇子一样慢慢打开。服务雪崩删除过程中,如果某一个环节的服务出现故障或连接超时,就会导致前面的服务占用越来越多的资源,进而引起系统崩溃,就是“雪崩效应”。对于高流量的应用来说,单一的后端依赖会导致服务器所有的资源都在几秒钟内饱和。比失败更糟糕的是,这些应用程序还可能导致服务...原创 2018-12-12 09:33:21 · 122 阅读 · 0 评论 -
SpringCloud之Feign学习笔记
Feign是一个声明式WebService客户端,使用方法时定义一个接口并在上面添加注解即可。Feign支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持SpringMVC和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。Feign源码使用案例新建Feign模块,加入依赖(其实跟80消费者差不...原创 2018-12-12 09:25:37 · 323 阅读 · 0 评论 -
SpringCloud之Ribbon学习笔记
Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具。Ribbon会自动帮助你基于某种规则(简单轮询、随机连接等),也可以实现自定义的负载均衡算法。Ribbon源码负载均衡英文名称:Load Balance,微服务或分布式集群中常用的一种应用简单来说负载均衡就是将用户的请求ping平摊的分配到多个任务上,从而是系统达到HA(高可用)...原创 2018-12-12 09:18:59 · 403 阅读 · 1 评论 -
SpringCloud之Eureka学习笔记
Eureka介绍及原理理解Eureka就像一个物业管理公司,其他微服务就像小区的住户,每个住户入住时都要向物业管理公司注册,并定时向物业公司交管理费。介绍Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。Eureka主管服务注册与发现,在微服务中,以后了这两者,只需要使用服务的标识符(就是那个在每个服务的yml文件中取得服务名称),就可以访问到服务,...原创 2018-12-07 09:41:23 · 176 阅读 · 0 评论