springcloud
文章平均质量分 92
本专栏为springcloud学习专栏,每篇都有前后文联系,每篇的代码文件都免费提供
@katoumegumi
如果坚持是一种热爱,极致是一种精神,那么成功就是一种必然!
展开
-
微服务保护
什么是雪崩问题?1、微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。如何避免因瞬间高并发流量而导致服务故障?1、流量控制如何避免因服务故障引起的雪崩问题?1、超时处理2、线程隔离3、降级熔断流控模式有哪些?1、直接:对当前资源限流2、关联:高优先级资源触发阈值,对低优先级资源限流。3、链路:阈值统计时,只统计从指定资源进入当前资源的请求,是对请求来源的限流流控效果有哪些?1、快速失败:QPS超过阈值时,拒绝新的请求2、warm up:QP原创 2024-01-23 19:36:58 · 2417 阅读 · 8 评论 -
数据聚合、自动补全、数据同步、es集群
elasticsearch中分词器(analyzer)的组成包含三部分1、character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符2、tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smart3、tokenizer filter:将tokenizer输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等我们可以在创建索引库时,通过settings来配置自定义的analyzer(分词器)原创 2024-01-08 11:45:00 · 2475 阅读 · 3 评论 -
DSL查询语法和RestClient查询文档
目录DSL查询语法DLS Query的分类DSL Query基本语法 全文检索查询精准查询地理查询复合查询Function Score Query复合查询 Boolean Query搜索结果处理排序分页分页深度分页问题 深度分也解决方案高亮RestClient查询文档快速入门全文检索查询精准查询复合查询排序、分页高亮 案例搜索和查询结果过滤周边竞价排名Elasticsearch提供了基于JSON的DSL (Domain Specific Language)来定义查询。常见的查询match查询:全文检索原创 2024-01-01 11:30:00 · 2685 阅读 · 1 评论 -
ES的安装和RestClient的操作
什么是elasticsearch?1、一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack (ELK) ?2、是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?3、是Apache的开源搜索引擎类库,提供了搜索引擎的核心API什么是文档和词条?1、每一条数据就是一个文档2、对文档中的内容分词,得到的词语就是词条什么是正向索引?1、基于文档id创原创 2023-12-25 00:15:00 · 4119 阅读 · 1 评论 -
SpringAMQP的配置和使用
什么是AMQP?·应用间消息通信的一种协议,与语言和平台无关。SpringAMQP如何发送消息?·引入amqp的starter依赖·配置RabbitMQ地址·利用RabbitTemplate的convertAndSend方法SpringAMQP如何接收消息?·引入amqp的starter依赖·配置RabbitMQ地址·定义类,添加@Component注解·类中声明方法,添加@RabbitListener注解,方法参数就时消息注意:消息一旦消费就会从队列删除,RabbitM原创 2023-12-11 20:56:03 · 1953 阅读 · 2 评论 -
RabbitMQ的安装和使用
MQ (MessageQueue),中文是消息队列,字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。RabbitMQ是基于Erlang语言开发的开源消息通信中间件,官网地址: https://www.rabbitmq.com/原创 2023-12-07 21:59:22 · 1492 阅读 · 0 评论 -
Docker的安装和使用
Docker是一个快速交付应用、运行应用的技术:1、可以将程序及其依赖、运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统2、运行时利用沙箱机制形成隔离容器,各个应用互不干扰3、启动、移除都可以通过一行命令完成,方便快捷Docker和虚拟机的差异:1、docker是一个系统进程;虚拟机是在操作系统中的操作系统.2、docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般镜像:将应用程序及其依赖、环境、配置打包在一起容器:镜像运行起来就是容器,一个镜像可原创 2023-12-19 17:31:57 · 2160 阅读 · 1 评论 -
Gateway网关的配置和使用
网关的作用:·对用户请求做身份认证、权限校验·将用户请求路由到微服务,并实现负载均衡心·对用户请求做限流网关搭建步骤:1.创建项目,引入nacos服务发现和gateway依赖2.配置application.yml,包括服务基本信息、nacos地址、路由路由配置包括:1.路由id:路由的唯一标示2.路由目标(uri):路由的目标地址,http代表固定地址,lb代表根据服务名负载均衡3.路由断言( predicates) :判断路由的规则。原创 2023-12-01 21:26:43 · 1607 阅读 · 0 评论 -
Feign的配置和使用
Feign的使用步骤:1、引入依赖2、添加@EnableFeignClients注解3、编写FeignClient接口4、使用FeignClient中定义的方法代替RestTemplateFeign的日志配置:1、方式一是配置文件,feign.client.config.xxx.loggerLevel①如果xxx是default则代表全局②如果xxx是服务名称,例如userservice则代表某服务2、方式二是java代码配置Logger.Level这个Bean①如果在@Ena原创 2023-11-23 20:55:31 · 830 阅读 · 0 评论 -
Nacos配置管理
将配置交给Nacos管理的步骤1、在Nacos中添加配置文件2、在微服务中引入nacos的config依赖3、在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名。原创 2023-11-21 21:10:54 · 710 阅读 · 0 评论 -
Nacos和Eureka的区别
1. Nacos与eureka的共同点都支持服务注册和服务拉取都支持服务提供者心跳方式做健康检测2. Nacos与Eureka的区别Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式临时实例心跳不正常会被剔除,非临时实例则不会被剔除Nacos支持服务列表变更的消息推送模式,服务列表更新更及时Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式。原创 2023-11-17 20:18:15 · 1914 阅读 · 2 评论 -
Nacos的集群、负载均衡、环境隔离
1、Nacos服务分级存储模型一级是服务,例如userservice二级是集群,例如杭州或上海三级是实例,例如杭州机房的某台部署了userservice的服务器2、如何设置实例的集群属性修改application.yml文件,添加spring.cloud.nacos.discovery.cluster-name属性即可3、NacosRule负载均衡策略优先选择同集群服务实例列表本地集群找不到提供者,才去其它集群寻找,并且会报警告。原创 2023-11-16 20:43:34 · 3204 阅读 · 4 评论 -
Nacos快速入门
1.Nacos服务搭建下载安装包解压在bin目录下运行指令:startup.cmd -m standalone2.Nacos服务注册或发现引入nacos.discovery依赖配置nacos地址spring.cloud.nacos.server-addr。原创 2023-11-16 19:29:30 · 340 阅读 · 2 评论 -
Nacos的下载和配置
nacos压缩包,点击下载百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间pwd=pjzc解压后:点击bin目录在路径栏里输入cmd,回车输入出现这个就代表nacos正在运行。原创 2023-11-15 11:56:40 · 325 阅读 · 0 评论 -
Ribbon负载均衡
1. Ribbon负载均衡规则规则接口是IRule默认实现是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询2.负载均衡自定义方式代码方式:配置灵活,但修改时需要重新打包发布配置方式:直观,方便,无需重新打包发布,但是无法做全局配置3.饥饿加载开启饥饿加载指定饥饿加载的微服务名称。原创 2023-11-14 20:14:02 · 867 阅读 · 0 评论 -
Eureka的配置和使用
服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状态eureka会更新记录服务列表信息,心跳不正常会被剔除,消费者就可以拉取到最新的信息。1.在user-service项目引入spring-cloud-starter-netflix-eureka-client的依赖。1.创建项目,引入spring-cloud-starter-netflix-eureka-server的依赖。2.在order-service项目的启动类OrderApplication中的RestTemplate添加。原创 2023-11-11 20:54:55 · 1338 阅读 · 0 评论 -
微服务的服务拆分
1、微服务需要根据业务模块拆分,做到单一职责,不要重复开发相同业务2、微服务可以将业务暴露为接口,供其它微服务使用3、不同微服务都应该有自己独立的数据库微服务调用方式·基于RestTemplate发起的http请求实现远程调用. http请求做远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可。原创 2023-11-13 20:29:45 · 309 阅读 · 0 评论