SpringCloud
文章平均质量分 52
SpringCloud
小哇666
专注web/大数据
展开
-
spring-cloud-stream 整合rabbitmq 消息分区
本Demo是在以下工程的基础上构建的https://blog.csdn.net/qq_41712271/article/details/118294352目前情况是,如果生产者一下子发送10条消息,在同一个group组的情况下,其中一个消费者可能消费了4条,另一个消费者可能收到 6条但在某些场景下分组还不能满足我们的需求。比如,同时有多条同一个用户的数据发送过来,我们需要根据用户统计,但是消息被分散到了不同的集群节点上了,这时我们就可以考虑使用消息分区了。当生产者将消息发送给多个消费者时,保证同.原创 2021-06-28 11:34:11 · 466 阅读 · 0 评论 -
spring-cloud-stream 整合rabbitmq 消息分组
如果有多个消息消费者,那么消息生产者发送的消息会被多个消费者都接收到,这种情况在某些实际场景下是有很大问题的,比如在如下场景中,订单系统做集群部署,都会从 RabbitMQ 中获取订单信息,如果一个订单消息同时被两个服务消费,系统肯定会出现问题。为了避免这种情况,Stream 提供了消息分组来解决该问题。在 Stream 中处于同一个 group 中的多个消费者是竞争关系,能够保证消息只会被其中一个应用消费。不同的组是可以消费的,同一个组会发生竞争关系,只有其中一个可以消费。通过 spring.clou原创 2021-06-28 10:12:50 · 846 阅读 · 0 评论 -
spring-cloud-stream 整合rabbitmq 自定义消息通道 短信邮件发送案例 既是生产者 也是消费者
本Demo源码下载地址https://download.csdn.net/download/qq_41712271/19848702发送 10086|[email protected],以|拆分,再分别消费 10086和 [email protected]案例流程示意图一个通道,既是生产者,也是消费者前提,掌握以下知识点,本demo就是在这个基础上做的扩展https://blog.csdn.net/qq_41712271/article/details/118191366?spm=1001.2014.3001.5..原创 2021-06-26 23:37:54 · 251 阅读 · 2 评论 -
spring-cloud-stream 整合rabbitmq 入门Demo-2 自定义消息通道
默认的消息通道(Source.java和Sink.java),只能发消息或只能收消息,如果需要自定义,又可以发,又可以收,就需要自定义消息通道在以下项目中改动修改https://blog.csdn.net/qq_41712271/article/details/118189305生产者工程1 添加MySource.java文件,把Source.java或Sink.java的代码抄来,改改package com.test.shenchanzhe.service;import org.sprin原创 2021-06-24 16:57:38 · 250 阅读 · 0 评论 -
spring-cloud-stream 整合rabbitmq 入门Demo-1
本Demo的spring boot 版本为2.2.4.RELEASE ,Rabbitmq的版本3.8.2生产者,消费者工程 添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-stream-binder-rabbit</artifactId> <.原创 2021-06-24 15:50:47 · 295 阅读 · 0 评论 -
一文讲清楚 seata DataSourceProxy 的使用 以及 seata client 与 seata 是怎么通讯的
seata client 与 seata 是怎么通讯的下面这张图,就是一切的基础。seata server 向注册中心注册 seata client 想注册中心注册 seata client 通过注册中心返回的seata server的地址与端口,找到seata server由此可见,注册中行在这一场景下的作用就是让client 找到server下面我们来看注册中心,注册中心分为两类,file与非file,我们先来看看file 类型file 类型的 注册中心(file 类型的配转载 2021-03-12 10:07:06 · 4086 阅读 · 1 评论 -
spring cloud alibaba微服务链路追踪系统 Sleuth,zipkin 和skywalking两种方案代码实战
spring cloud 微服务链路追踪系统 Sleuth和zipkin 概述-CSDN博客。原创 2021-01-29 10:55:30 · 107 阅读 · 1 评论 -
spring cloud 微服务链路追踪系统 Sleuth和zipkin 概述
微服务链路追踪系统的作用抛两个常见的问题 微服务调用链路出现了问题怎么快速排查? 微服务调用链路耗时长怎么定位是哪个服务? 分布式应用架构虽然满足了应用横向扩展的需求,但是运维和诊断的过程变得越来越复杂,例如会遇到接口诊断困难、应用性能诊断复杂、架构分析复杂等难题,传统的监控工具并无法满足,分布式链路系统由此诞生核心:将一次请求分布式调用,使用GPS定位串起来,记录每个调用的耗时、性能等日志,并通过可视化工具展示出来注意:AlibabaCloud全家桶还没对应的链路追踪系统,我原创 2021-01-29 10:41:15 · 459 阅读 · 0 评论 -
微服务中的⽹关介绍,常见网关,应⽤场景等说明 【理论】
什么是网关API Gateway,是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求、鉴权、监控、缓存、限流等功能统一接入智能路由 AB测试、灰度测试 负载均衡、容灾处理 日志埋点(类似Nignx日志)流量监控限流处理 服务降级安全防护鉴权处理 监控 机器网络隔离 主流的网关zuul:是Netflix开源的微服务网关,和Eureka,Ribbon,Hystrix等组件配合使用,依赖组件比较多,性能教差kong: 由Mashape.原创 2021-01-28 17:45:37 · 522 阅读 · 0 评论 -
分布式CAP中,⼀致性和可⽤性的权衡结果 BASE理论
策略类 命名 描述 RandomRule 随机策略 随机选择server RoundRobinRule 轮询策略 按照顺序选择server(默认) RetryRule 重试策略 当选择server不成功,短期内尝试选择一个可用的server AvailabilityFilteringRule 可用过滤策略 过滤掉一直失败并被标记为circuit tripped的server,过滤掉那些高并发链接的serv...原创 2021-01-28 17:24:06 · 111 阅读 · 1 评论 -
CAP⾥⾯下的常见的注册中⼼,区别以及如何选择 【理论】
常见注册中心:Zookeeper、eureka、nacos应该怎么选择 Nacos Eureka Consul Zookeeper 一致性协议 CP+AP AP CP CP 健康检查 TCP/HTTP/MYSQL/Client Beat 心跳 TCP/HTTP/gRPC/Cmd Keep Alive 雪崩保护 有 有 无 无 访问协议 HTTP/DNS HTTP HTT.原创 2021-01-28 17:16:26 · 98 阅读 · 0 评论 -
微服务分布式系统中 必须知道的CAP 理论
CAP定理: 指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得 一致性(C):所有节点都可以访问到最新的数据 可用性(A):每个请求都是可以得到响应的,不管请求是成功还是失败 分区容错性(P):除了全部整体网络故障,其他故障都不能导致整个系统不可用 CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分原创 2021-01-28 17:07:23 · 321 阅读 · 1 评论 -
使用Docker的方式安装Zipkin
运行以下docker命令查找docker search zipkin拉取镜像docker pull docker.io/openzipkin/zipkin运行容器(后台启动)docker run --name zipkin_test_1 -di -p 9411:9411 9b4acc3eb019 (镜像id)查看容器运行的日志docker logs -f --tail=100 zipkin_test_1打开zipkin控制台http://公网ip:9411/zipkin/..原创 2021-01-27 20:57:57 · 550 阅读 · 0 评论 -
使用Maven聚合工程[pom+子项目] 创建spring cloud项目
后期的使用学习,都在这个基础上加工maven聚合工程,最外面的总工程,打包方式为pom以下是子项目huawei-common [公共类,如pojo] huawei-video-service huawei-user-service huawei-order-service注意事项:1建议用idea中的maven选项卡创建项目,不要用 SpringInitializr构建,否则项目的pom.xml文件很乱2要注意 springBoot和springCloud,cloud aliba...原创 2021-01-27 15:21:45 · 343 阅读 · 0 评论 -
spring boot、spring cloud、spring cloud alibaba版本对应关系
官网版本对应情况,详细说明https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E原创 2021-01-27 12:17:18 · 151 阅读 · 0 评论 -
[技术陈旧] SpringCloud-Zuul网关 自定义ZuulFilter过滤器实现 接口限流
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流缓存 缓存的目的是提升系统访问速度和增大系统处理容量降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理常用的限流算法漏桶算法 ...原创 2020-03-13 11:13:50 · 1310 阅读 · 1 评论 -
[技术陈旧] SpringCloud-Zuul网关项目 环境搭建和整合Eureka访问
1 新建一个springboot的项目或模块,并添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></depe...原创 2020-03-12 21:13:33 · 490 阅读 · 1 评论 -
[技术陈旧] SpringCloud-Zuul网关 自定义ZuulFilter过滤器实现登录鉴权
过滤器类型和请求的生命周期Zuul 中的过滤器跟我们之前使用的 javax.servlet.Filter 不一样,javax.servlet.Filter 只有一种类型,可以通过配置 urlPatterns 来拦截对应的请求。而 Zuul 中的过滤器总共有 4 种类型,且每种类型都有对应的使用场景。1)pre可以在请求被路由之前调用。适用于身份认证的场景,认证通过后再继续执行下面的流程...原创 2020-03-12 20:55:40 · 1857 阅读 · 1 评论 -
SpringCloud-Hystrix断路器 Dashboard监控仪表盘
前提:搭建好注册中心,断路器,消费者调用生产者,都已经可以跑通可参考:https://blog.csdn.net/qq_41712271/article/details/104784809https://blog.csdn.net/qq_41712271/article/details/104785211假如需求:订单服务调用产品服务1 订单服务 的项目中添加依赖<depend...原创 2020-03-11 14:23:38 · 113 阅读 · 0 评论 -
SpringCloud-源码剖析Hystrix断路器降级策略和调整
1、查看默认降级策略 HystrixCommandProperties文件 1)execution.isolation.strategy 隔离策略 THREAD 线程池隔离 (默认) SEMAPHORE 信号量 信号量适用于接口并发量高的情况,如每秒数千次调用的情况,导致的线程开销过高,通常只适用于...原创 2020-03-11 13:40:32 · 277 阅读 · 0 评论 -
[技术太老了解即可] SpringCloud-Hystrix断路器 整合feign 降级 @FeignClient(fallback = OrderService 使用
个人理解:此种方式是针对某个服务的生产者,即生产者中,每个接口都不能调用,控制比较粗前提:注册中心,消费者可通过Feign调用生产者,都已经跑通可参考:https://blog.csdn.net/qq_41712271/article/details/104757725假如需求:订单服务调用产品服务,注意产品服务项目中有可能添加故意超时的代码,先注释掉1订单服务的项目,添加依赖...原创 2020-03-10 22:41:42 · 534 阅读 · 0 评论 -
SpringCloud-Hystrix断路器 @HystrixCommand 可监控报警
个人理解:此种方式只是针对某一个请求作处理,控制比较细前提:注册中心,消费者可通过Feign调用生产者,都已经跑通可参考:https://blog.csdn.net/qq_41712271/article/details/104757725假如需求:订单服务调用产品服务1订单服务的项目,添加依赖<dependency> <groupId&...原创 2020-03-10 22:17:48 · 396 阅读 · 0 评论 -
SpringCloud-ribbon 支持的负载均衡策略介绍 和 如何更改 负载均衡的策略 (针对单个服务 修改配置文件的方式)
前提:注册中心,生产者(产品服务),消费者(订单服务) 都运行正常如果有问题,参考博文https://blog.csdn.net/qq_41712271/article/details/104754146假如需求:订单服务 调用 产品服务,产品服务的服务名称为product-service修改 消费者 (订单服务) 的application.yml文件### 针对单个服务的 R...原创 2020-03-09 16:59:30 · 461 阅读 · 0 评论 -
【仅是入门用】SpringCloud-ribbon 消费者调用生产者
Ribbon 就是在HttpClient 上做了一层包装,支持负载均衡,如果Producer(生产者)有多个,则消息者 (Consumer)ribbon 可以根据策略选择其中一个Producer(生产者)其中核心的 @LoadBalanced负载均衡的原理步骤 1 首先从注册中心获取provider的列表 2 通过一定的策略选择其中一个节点...原创 2020-03-09 16:16:06 · 555 阅读 · 0 评论 -
SpringCloud-Eureka 服务注册与发现,搭建 服务端和客户端
注册中心服务端搭建1 新建springboot项目,添加 Spring-cloud-Discovery》》》》》》》Eureka Server依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring...原创 2020-03-09 14:32:22 · 321 阅读 · 0 评论 -
常见服务的端口
redis:6379zookeeper:2181dubbo:20880,20881RabbitMQ:监控系统端口:15672RabbitMQ:服务端口:5672solr:8983原创 2019-09-21 10:05:24 · 202 阅读 · 0 评论