
springCloud全家桶及相关理论知识
文章平均质量分 70
springCloud全家桶理论知识
黑夜中坚持
这个作者很懒,什么都没留下…
展开
-
跨域问题的解决
没有配置跨域,导致浏览器提示在A域名下不可以访问B域名的api,这样的错误很好解决,只需要在后端加入cors配置,就可以解决这类跨域问题,我们在springmvc的java配置中加入以下代码即可package com.yonyou.threatIntelligence.cyber_threat_gateway.config;import org.springframework.context.annotation.Bean;import org.springframework.context.a..原创 2021-06-24 01:06:09 · 341 阅读 · 0 评论 -
使用alibaba gateway但是不能路由成功问题的解决
gateway网关的重要作用之一便是进行路由转发工作。经常遇到转发失败的问题。比如前端配置如下: // api接口请求地址 window.SITE_CONFIG['baseUrl'] = 'http://localhost:90/api';gateway的application.yml配置如下:server: port: 90spring: application: name: threat-gateway cloud: gateway: routes:原创 2021-06-24 00:24:04 · 5206 阅读 · 3 评论 -
rocketmq消息中间件的概念、下载和简单使用
rocketmq消息中间件rocketmq是高性能、高并发、分布式消息中间件rocketmq典型应用场景: 分布式事务、异步解耦rocketmq概念模型注1: 对于非广播类的消息,同一条消息只能被consumerGroup中的一个conusmer消费;如果有多个consumerGroup,可以被多个consumerGroup中的任意一台机器消费.注2: broker由topic和messageQueue组成,一个topic可以被一个broker管理,也可以被多个broker管理.为了保证原创 2021-02-01 18:26:16 · 230 阅读 · 0 评论 -
nginx高性能原因
epoll多路复用作用: 完成非堵塞式IO操作延伸BIO(堵塞式IO)缺点: client和server一旦建立连接,就可以建立通信套接字在这个通信套接字上进行读写操作,此时不能再接收其他客户端连接请求,只能等待同当前连接的客户端的操作执行完成。select模型缺点: 变更触发轮询查找,有1024数量上限epoll模型好处: 变更触发回调函数直接读取,理论无上限master-worker进程模型作用: 允许其做平滑重启和平滑重新加载配置且不会断开与.原创 2021-01-19 21:50:49 · 305 阅读 · 0 评论 -
OpenResty(基于nginx的可伸缩的web平台)的下载安装及使用
OpenResty介绍OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Ngi.原创 2021-01-16 23:29:13 · 239 阅读 · 0 评论 -
Gateway(微服务网关:路由转发、权限校验、限流控制)扫盲知识
SpringCloud Gateway是什么SpringCloud Gateway使用的webflux中的reactor-netty响应式编程组件,底层使用了netty通讯框架.SpringCloud Gateway特性SpringCloud Gateway和Zuul的区别Zuul1.x模型缺点:SpringCloud Gateway是基于WebFlux框架实现的,俺么WebFlux框架是什么?GateWay的三大概念图片引用链接GateWay的核..原创 2020-12-05 15:58:11 · 2046 阅读 · 0 评论 -
Hystrix(服务降级、服务熔断、服务限流、接近实时的监控)扫盲知识
背景之服务雪崩Hystrix是什么Hystrix功能服务降级服务熔断接近实时的监控原创 2020-12-04 20:00:57 · 158 阅读 · 1 评论 -
Feign(基于ribbon的负载均衡,接口+注解实现)扫盲知识
springcloud中文版 Feign链接Feign是什么Feign是一个声明式WebService客户端,使用Feign能让编写Web Service客户端更加简单.它的使用方法是定义一个服务接口然后在上面添加注解.Feign也支持可拔插式的编码器和解码器.Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters.Feign可以与Eureka和Ribbon组合使用以支持负载均衡.Feign能干什么注: Paym原创 2020-12-02 21:22:20 · 490 阅读 · 0 评论 -
Ribbon(客户端负载均衡)扫盲知识
Spring Cloud Ribbon是什么Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具.简单说,Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用.Ribbon客户端组件提供一系列完善的配置项如连接超时、重试等.简单说,就是在配置文件中列出Load Balance后面所有的机器,Ribbon就会自动帮助用户基于某种规则(如简单轮询,随机连接等)去连接这些机器.我们很容易使用Ribbon实现自定义的负载均衡算法...原创 2020-12-02 17:21:56 · 664 阅读 · 0 评论 -
eureka、zookeeper、consul(服务注册)理论上的一些扫盲知识
eurekaspring cloud 封装了netflix公司开发的eureka模块来实现服务治理.服务治理的定义在传统的rpc远程调用框架中,管理服务和服务之间的依赖关系比较复杂,所以需要服务治理管理服务和服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册.服务注册与发现定义Eureka采用CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心.而系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接.原创 2020-12-01 16:30:35 · 141 阅读 · 0 评论 -
zookeeper扫盲知识
概述zookeeper是一个开源的、分布式的、为分布式应用提供协调服务的Apache项目.zookeeper的工作机制从设计模式角度理解: zookeeper是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,zookeeper就将负责通知已经在zookeeper上注册的那些观察者做出相应的反应.zookeeper特点一个领导者leader,多个跟随者follower组成的集群集群中只要有半数以上节点..原创 2021-01-06 21:44:01 · 387 阅读 · 0 评论 -
JMS(java message service java消息服务)
什么是JMS(java消息服务)java消息服务是指两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持java应用程序开发.在javaee中,当两个应用程序使用JMS进行通信时,它们之间并不是直接相连的,而是通过一个共同的消息收发服务组件关联起来以达到解耦/异步/削峰的效果.JMS组成结构和特点JMS provider: 实现JMS接口和规范的消息中间件,也就是MQ服务器JMS producer: 消息生产者,创建和发送J.原创 2021-01-03 20:27:01 · 424 阅读 · 0 评论 -
MQ(解耦、削峰、异步)之ActiveMQ消息中间件(包括搭建zookeeper+activemq集群)
为什么要引入MQ消息中间件传统的系统之间直接调用在实际工程落地中存在许多问题系统之间耦合比较严重.面对大流量并发时,容易被冲垮.(每个接口模块的吞吐能力是有限的)等待同步存在性能问题为了解决上述的问题,所以引入MQ达到以下几个目标:能够解耦: 要做到系统解耦,当新的模块接进来时,可以做到代码改动最小.能够削峰: 设置流量缓冲池,可以让后端系统按照自身吞吐能力进行消费,不被冲垮.能够异步: 强弱依赖梳理能将非关键调用链路的操作异步化并提升整体系统的吞吐能力.MQ的处理.原创 2021-01-04 19:26:58 · 733 阅读 · 0 评论 -
redis扫盲知识
RDBMS(关系型数据库管理系统) VS NoSQL(not only sql)RDBMS:高度组织化、结构化数据结构化查询语言(SQL)数据和关系都存储在单独的表中数据操纵语言,数据定义语言严格的一致性基础事务NoSQL:代表着不仅仅是SQL没有声明性查询语言没有预定义的模式键值对存储,列存储,文档存储,图形数据库最终一致性,而非ACID属性非结构化和不可预知的数据CAP定理(一致性、可用性、分区容错性. 分布式系统不可.原创 2020-12-27 11:33:33 · 226 阅读 · 0 评论 -
spring cloud alibaba之Seata(分布式事务)扫盲知识
Seata是什么Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务.一个典型的分布式事务的一ID+三组件模型XID(Transaction ID): 全局唯一的事务ID.只要在同一ID下,不管使用到几个数据库,都是一体的.TC(Transaction Coordinator): 事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚.TM(Transaction Manager): 控制全局事务的边界,负责开启一个全局事务,并..原创 2020-12-15 11:33:49 · 152 阅读 · 0 评论 -
spring cloud alibaba之Sentinel(流量控制、熔断降级、系统负载保护)
Sentinel是什么及主要特征随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个纬度保护服务的稳定性.Sentinel(哨兵)和Hystrix的对比Hystrix需要程序员手动搭建监控平台,而且没有web界面给程序员进行更加细粒度化的配置:流量控制、速率控制、服务熔断、服务降级等.Sentinel单独一个组件可以独立出来,并且有界面化的细粒度统一配置.Sentinel分为两个部分核心库(Java客户端.原创 2020-12-11 10:56:50 · 435 阅读 · 0 评论 -
spring cloud alibaba之Nacos(服务注册与发现、配置管理、服务管理)扫盲知识
spring cloud alibaba中文文档链接spring cloud alibaba github链接spring cloud alibaba主要功能spring cloud alibaba主要组件spring cloud alibaba 之 Nacos一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台.即Nacos就是注册中心 + 配置中心的组合.Nacos = Eureka + Config + Busnacos与其他注册中心对比nacos原创 2020-12-08 21:52:06 · 350 阅读 · 0 评论 -
spring cloud sleuth(微服务跟踪) + zipkin(展现)扫盲知识
spring cloud sleuth产生背景在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败.spring cloud sleuth是什么spring cloud sleuth提供了一套完整的服务跟踪解决方案,在分布式系统中提供追踪解决方案并且兼容支持zipkin.使用步骤下载zipkin的jar包curl -s..原创 2020-12-07 16:05:11 · 131 阅读 · 0 评论 -
Spring Cloud Stream(消息驱动)扫盲知识
消息驱动是什么屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型.Spring Cloud Stream定义原始普通的MQ(消息队列)生产者、消费者之间靠消息(Message)媒介传递消息内容消息必须走特定的通道(MessageChannel)消息通道中的消息如何被消费以及谁负责收发处理: 消息通道MessageChannel的子接口SubscribableChannel,由MessageHandler消息处理器所订阅Spring Cloud Stream出现..原创 2020-12-08 16:45:37 · 314 阅读 · 0 评论 -
Spring Cloud Bus(消息总线)扫盲知识
spring Cloud Bus运行机制核心: 第3步提交post请求后,通过bus消息总线会在局域网内进行全局广播通知.Spring Cloud Bus能管理和传播分布式系统间的消息,就像一个分布式执行器,可用于广播状态更改、事件推送等,也可以当做微服务间的通信通道。注: 这个图中是将post请求推给Config Server然后广播,而上图是将post请求推给App A,然后再传染广播.总线的定义在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所..原创 2020-12-06 16:39:01 · 470 阅读 · 0 评论 -
SpringCloud Config分布式配置中心扫盲知识
SpringCloud Config为什么会出现微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务.由于每个服务都需要必要的配置信息(比如application.yml等配置文件)才能运行,所以一套集中式的动态的配置管理设施必不可少.SpringCloud提供了ConfigServer来解决这个问题.SpringCloud Config是什么SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个..原创 2020-12-05 20:46:20 · 127 阅读 · 0 评论