springcloud
文章平均质量分 64
follow_me!
机会只会留给有准备的人
展开
-
跨域处理解决方案
何为跨域:跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制:所谓同源是指,域名,协议,端口均相同,举个栗子:http://www.123.com/index.html 调用 http://www.123.com/server.json (非跨域)http://www.123.com/index.html 调用 http://www.456.com/server.json (主域名不同:123/456,跨域)http://abc.原创 2021-04-21 16:50:01 · 402 阅读 · 2 评论 -
05百万架构师核心技术设计实践——熔断、降级、限流
狭义上的熔断、降级、限流一、降级(fallback):1.触发服务降级出现的情况:程序运行异常超时服务熔断触发的服务降级高并发下,信号量/线程池用完后服务降级(传送门: hystrix两种资源隔离模式.)2.服务降级的目的:系统能力有限:为了最大的ROI,保证核心服务可用,非核心服务弱可用,甚至不可用。避免服务雪崩:如果下游某服务不可用或者响应时间过长,会使得大量的线程被夯在此服务,对服务进行降级,会避免雪崩效应。3.流量高峰应对策略:流量高峰场景分为可预测(如双十一、618、原创 2022-01-11 19:31:44 · 856 阅读 · 0 评论 -
hystrix两种资源隔离模式
资源隔离的资源指的是上游服务所依赖的下游服务资源。 hystrix资源隔离模式有两种:信号量隔离、线程池隔离。一、信号量隔离:信号量模式从始至终都只有请求线程自身,是同步调用模式,不支持超时调用,不支持直接熔断,由于没有线程的切换,开销非常小。二、线程池隔离(默认):线程池模式可以支持异步调用,支持超时调用,支持直接熔断,存在线程切换,开销大。三、选型:上图可以看出两者最大区别在于:线程池开销大,在高并发下可能线程数不够用;优点是线程池是异步,对于网络访问请求,若发生超时,可以避免调用线程阻塞原创 2022-01-10 14:04:24 · 1461 阅读 · 0 评论 -
03百万架构师:微服务网关案例剖析
一、业内常用的系统架构图:1.未做水平拆分的集中式架构:2.做了水平拆分的架构:二、网关的作用:功能一:请求鉴权登录鉴权,session无状态化功能二:数据包完整性验证定长的业务头:userid、cmd、session、bodylength功能三:协议转换json转二进制HashMap(String,Object)功能四:cmd路由根据cmd路由到不同的业务逻辑层功能五:系统级别的限流、降级、熔断数据包完成性检查与协议转换没什么好说的,下面主要讲解请求原创 2021-12-30 17:08:13 · 1257 阅读 · 0 评论 -
docker部署seata-server1.4.2,开箱即用
一、拉去镜像docker pull seataio/seata-server:1.4.0二、运行docker run --name seata-server -p 8091:8091 -d seataio/seata-server:1.4.0三、将容器的文件同步到宿主机docker cp seata-server:/seata-server /home/dockerdata/seata四、停止并删除seata 容器docker stop seata-serverdocker rm s原创 2021-09-15 20:55:51 · 1580 阅读 · 1 评论 -
seata踩坑!无法更改服务路径,只能连接will connect to 127.0.0.1:8091的问题
今天更改seata的服务地址一直无法生效,一直will connect to 127.0.0.1:8091解决方法:在yaml里添加下面就行了原创 2021-09-14 22:30:58 · 6395 阅读 · 1 评论