摘要:
1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: 请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 Redis缓存失效时,会对数据库产生冲击 多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻T 阅读全文
摘要:
一、单点Redis弊端 1、数据丢失问题:Redis是内存存储,服务器重启可能会丢失数据 2、并发能力问题:单节点Redis并发能力虽然不错,但也无法满足如618这样的高并发场景 3、故障恢复问题:如果Redis宕机,则服务不可用,需要一种自动的故障恢复手段 4、存储能力问题:Redis基于内存,单 阅读全文
摘要:
1.初识Sentinel 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。 但是,依赖服务I的 阅读全文
摘要:
数据聚合 1、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果 阅读全文
摘要:
详情请参考:https://www.aliyundrive.com/s/Y4ArBxRkvTC 查询操作 1、DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用 阅读全文
摘要:
1、elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 2、elasticsearch和lucene elasticsearch底层是基于lucene来实现的。 elasticsearch的发展历史 阅读全文
摘要:
1、项目部署的问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题 开发、测试、生产环境有差异 2、Docker如何解决依赖的兼容问题的? 将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包 将每个应用放到一个隔离容器去运行,避免互相干扰 阅读全文
摘要:
Hystrix 熔断器 1、Hystrix 概述 Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败(雪崩)。 雪崩:一个服务失败,导致整条链路的服务都失败的情形。 Hystix 主要功能: 隔离 线程池隔离 信号量隔离 降级:异常,超时 熔断 阅读全文
摘要:
Consul Server Consul 是由 HashiCorp 基于 Go 语言开发的,支持多数据中心,分布式高可用的服务发布和注册服务软件。 用于实现分布式系统的服务发现与配置。 使用起来也较 为简单。具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行 阅读全文
摘要:
统一网关Gateway 1、为什么需要网关 网关功能: 身份认证和权限校验 服务路由、负载均衡 请求限流 2、网关的技术实现 在SpringCloud中网关的实现包括两种: gateway zuul Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于S 阅读全文