![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringCloud 学习笔记
文章平均质量分 96
猿小羽
技术本身是不值钱的,只有和业务结合的技术才是值钱的!
技术是为了实现某个业务,进而通过业务赚钱!
展开
-
day12 服务异步通信
Return 是指消息到达交换机了,但是在路由到队列的过程中失败了每个 RabbitTemplate 只能配置一个 ReturnCallback,因此需要在项目加载时配置:在 publisher 服务的// 获取RabbitTemplate对象 RabbitTemplate rabbitTemplate = applicationContext . getBean(RabbitTemplate . class);原创 2022-11-24 14:04:18 · 410 阅读 · 0 评论 -
day11 多级缓存
传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图:在多级缓存架构中,Nginx 内部需要编写本地缓存查询、Redis 查询、Tomcat 查询的业务逻辑,因此这样的 Nginx 服务不再是一个反向代理服务器,而是一个编写业务的 Web 服务器了。因此这样的业务 Nginx 服务也需要搭建集群来提高并发,再由专门的 Nginx 服务来做反向代理,如图:另外,我们的 Tomcat 服务将来也会部署为集群模式:其中 Nginx 编程则会用到 OpenResty 框架结合原创 2022-11-23 00:19:27 · 560 阅读 · 0 评论 -
day10 分布式缓存
Redis 如何判断某个 key 应该在哪个实例?将 16384 个插槽分配到不同的实例根据 key 的有效部分计算哈希值,然后对 16384 取余余数作为插槽,寻找插槽所在实例即可如何将同一类数据固定的保存在同一个 Redis 实例?将这一类数据使用相同的有效部分,例如 key 都以{typeId}为前缀。原创 2022-11-21 16:46:32 · 634 阅读 · 0 评论 -
day09 分布式事务
简述CAP定理内容?分布式系统节点通过网络连接,一定会出现分区问题(P)当分区出现时,系统的一致性(C)和可用性(A)就无法同时满足思考:elasticsearch集群是 CP 还是 AP 呢?ES集群出现分区时,故障节点会被剔除出集群,数据分片会重新分配到其它节点,保证数据一致。因此是低可用性,高一致性,属于 CP基本可用软状态最终一致全局事务:整个分布式事务分支事务:分布式事务中包含的每个子系统的事务最终一致思想:各分支事务分别执行并提交,如果有不一致的情况,再想办法恢复数据。原创 2022-11-20 20:38:57 · 257 阅读 · 0 评论 -
day08 微服务保护
什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。如果避免因瞬间高并发流量而导致服务故障呢?限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。如果避免因服务故障引起的雪崩问题呢?超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel 是阿里巴巴开源的一款微服务流量控制组件。原创 2022-11-19 16:46:33 · 621 阅读 · 0 评论 -
day07 Elasticsearch搜索引擎3
聚合(aggregations)可以让我们极其方便的实现对文档数据的统计、分析、运算。例如:实现这些统计功能比数据库的sql要方便得多,而且查询速度非常快,可以实现实时搜索效果。现在,我们要统计所有数据中的酒店品牌有几种,其实就是按照品牌对数据进行分组。此时可以根据酒店品牌的名称做聚合,也就是Bucket聚合。默认情况下,Bucket聚合会统计Bucket内的文档数量,记为 *,*并且按照 * 降序排序。我们可以指定 属性,自定义聚合的排序方式:示例:默认情况下,Bucket聚合是对索引库的所有原创 2022-11-17 16:33:31 · 1009 阅读 · 0 评论 -
day06 Elasticsearch搜索引擎2
query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件实体类有两个,一个是前端的请求参数实体,一个是服务端应该返回的响应结果实体。1、请求参数{"key" : "搜索关键字" , "page" : 1 , "size" : 3 , "sortBy" : "default" }因此,我们在// 搜索关键字 private String key;// 当前页码 private Integer page;原创 2022-11-16 11:52:01 · 336 阅读 · 0 评论 -
day05 ELasticsearch搜索引擎
什么是文档和词条?每一条数据就是一个文档对文档中的内容进行分词,得到的词语就是词条什么是正向索引?基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包含词条什么是倒排索引?对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条找到文档id,而后获取到文档那么为什么一个叫做正向索引,一个叫做倒排索引呢?正向索引是最传统的,根据id索引的方式。在根据词条进行查询时,必须先逐条获取每个文档,然后判断文档中是否包含所需要的词条,是根据文档找词条的过程。原创 2022-11-15 00:43:05 · 186 阅读 · 0 评论 -
day04 RabbitMQ基本使用
MQ,中文名称是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的 Broker。ActiveMQRabbitMQRocketMQKafka追求可用性:Kafka、 RocketMQ 、RabbitMQ追求可靠性:RabbitMQ、RocketMQ追求吞吐能力:RocketMQ、Kafka追求消息低延迟:RabbitMQ、Kafka多个消费者绑定到一个队列,同一条消息只会被一个消费者处理。原创 2022-11-14 14:28:34 · 739 阅读 · 0 评论 -
day03 Docker基本使用
数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。一旦完成数据卷挂载,对容器内的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们在操作宿主机的目录时,就相当于在操作容器内的目录了镜像是将应用程序及其所需要的系统函数库、环境、配置、依赖打包而成。我们以 MySQL 为例,来看看镜像的组成结构:我们要构建镜像,其实就是实现上述打包的过程。简单来说,镜像就是在系统函数库、运行环境基础上,添加应用程序文件、配置文件、依赖文件等组合,然后编写好启动脚本打包在一起形成的文件。原创 2022-11-13 21:22:30 · 1531 阅读 · 0 评论 -
day02 Nacos集群配置、Feign远程调用和统一网关Gateway
Nacos生产环境下一定要部署为集群状态。其中包含3个 Nacos 节点,然后一个负载均衡器代理3个 Nacos。这里负载均衡器可以使用 Nginx。我们计划的集群结构如下图,MySQL 的主从复制后续再添加。三个 Nacos 节点的地址:搭建数据库,初始化数据库表结构下载nacos安装包配置nacos启动nacos集群nginx反向代理其作用就是帮助我们优雅的实现 http 请求的发送,解决上面提到的问题。原创 2022-11-13 00:19:09 · 1695 阅读 · 0 评论 -
day01 微服务初探与Eureka、Nacos的基本使用
SpringCloud Ribbon 底层采用了一个拦截器,拦截了发出的请求,对地址做了修改。原创 2022-10-30 23:03:23 · 484 阅读 · 0 评论