springcloud
文章平均质量分 91
Markland_l
这个作者很懒,什么都没留下…
展开
-
springcloud11
hystrix源码怎么实现hystrix注解相关的降级熔断功能,首先要实现代理,spring中有两种返回代理实例的方式aop方式,hystrix是通过aop实现的FactoryBean的方式,通过getObject返回代理实例,典型代表就是mybatis,MapperFactoryBeanhystrix实现代理EnableCircuitBreaker@Import(EnableCircuitBreakerImportSelector.class)SpringFactoryImp原创 2021-04-09 05:44:56 · 338 阅读 · 0 评论 -
springcloud10
jwt模式下获取token也有三种,客户端、密码、授权码认证服务器变为micro-jwtjwt是jason web token,token本身就是jason格式数据服务器—导入jar包<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-oauth2</artifactId>原创 2021-04-07 19:44:14 · 212 阅读 · 2 评论 -
springcloud9
密码模式获取tokenpostman测试访问:localhost:7070/auth/oauth/token,post请求body(form-data)grant_type = passwordscope = all (匹配的字符串,存储在认证服务器中,也是在代码中配置的)username = James (平台用户)password = 123456 (平台用户)Authorization,Basic Auth,Base64加密,Base64(id:password),把加密原创 2021-04-07 00:44:07 · 105 阅读 · 0 评论 -
springcloud8
常规权限校验1.保存用户信息到内存,并保持会话(有状态的会话保持)2.jsessionId存储浏览器cookie,可能会发生csrf攻击3.如果用户量大,会话会把内存占满如果是分布式服务,第一次登陆请求保存在机器1,第二次去查询时访问的是机器2,此时怎么解决?分布式session4.在单一架构中,拿到sessionId,就能拿到用户信息(和sessionId绑定)但是要尽量避免这种有状态的会话,容易发生csrf的跨域攻击要做到请求跟用户信息无关,oauth2.0标准就出现了原创 2021-04-04 01:51:36 · 181 阅读 · 1 评论 -
springcloud7
服务网关是什么一般的流量入口是商品模块,假设商品模块有100个,则nginx要配置100个,为了减少配置量,有一个服务网关的概念pc要访问互联网,需要网关进行路由转发,类比到springcloud,就有了服务网关的概念访问服务时,首先仍然是nginx,但是连接的不再是商品模块,而是zuul服务网关,由它来负责转发,这样可以减少nginx的配置量,此时由服务网关负责路由到100台商品模块服务网关除了zuul,还有gateway,后者源码更复杂,但是原理都是一样的服务网关可以做流量入口,所原创 2021-04-03 01:43:37 · 204 阅读 · 0 评论 -
springcloud6
配置问题上一节中的对于配置的加密规则的配置,解析失败,报错是invalid secret key,这是java发布的运行环境包中对加密解密有一定的限制,所以需要下载jce的包,覆盖掉/jdk/jre/lib/security目录下的local_policy.jar和US_export_policy.jar自定义分布式配置中心spring cloud中的分布式配置中心,其中消息总线是利用mq实现的,但是mq维护成本比较大,技术选型时需要综合考虑其他的方法?redis—发布与订阅zookeep原创 2021-04-01 20:39:50 · 171 阅读 · 1 评论 -
springcloud5
分布式配置中心能做什么比如使用同一个redis的不同微服务,都需要单独进行redis配置,这是很麻烦的,因此可以通过分布式配置中心抽取公共配置修改配置文件,需要重启系统,因此需要实现配置文件的热加载分布式配置中心搭建jar包导入<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</原创 2021-04-01 16:01:03 · 144 阅读 · 0 评论 -
springcloud4
hystrix中的熔断是什么家里保险丝烧断,家里就会停电比如抢购接口,发生高并发调用时,在一段时间内,会有成功,会有失败,当请求次数达到N次,并且失败率达到一定比例后,hystrix熔断器会开启,就会发生熔断,此时再调用这个抢购接口,会直接走降级接口circuitBreaker.enabled 是否开启断路器功能circuitBreaker.requestVolumeThreshold 该属性设置在滚动时间窗口中,断路器的最小请求数。默认20,如果在窗口时间内请求次数19,即使19原创 2021-03-31 20:56:14 · 97 阅读 · 2 评论 -
springcloud3
图解服务隔离假设一个抢购下单场景,先需要调用订单系统的接口保存订单信息,然后调用支付接口进行支付,最后调用物流系统的接口进行发货,并且后两个接口依赖相邻前一个接口的处理结果假设第一个接口的三台机器都是正常的,第二个接口三台机器中有一台机器调用失败了,然后会一直卡在这里,而抢课下单是一个高并发接口,所有打到这个机器的调用全部都会失败,导致tomcat连接池占满,其余要调用这台机器其余接口的调用也都会失败一个点影响了全局思考:公司的微服务的并发量为什么不高?吞吐量为什么不高?h原创 2021-03-30 19:40:17 · 255 阅读 · 0 评论 -
springcloud2
Eureka用户认证通过用户名和密码的方式连接到Eurekapom文件增加jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>application.properties新增配置securit原创 2021-03-29 01:59:27 · 135 阅读 · 0 评论 -
springcloud1
架构演变过程1.单一架构我们最先接触的单体架构,整个系统就只有一个工程,打包往往是打成了 war 包,然后部署到单一tomcat 上面,这种就是单体架构请求–>APP–>DB假如系统按照功能划分了,商品模块,购物车模块,订单模块,物流模块等等模块。那么所有模块都会在一个工程里面,这就是单体架构好处维护成本低缺点一台服务器满足不了需求,最薄弱的环节是DB2.在单一架构基础上横向扩展(多个APP)这种架构貌似暂时解决了我们的问题,但是用户量慢慢增加后,我原创 2021-03-27 20:11:33 · 169 阅读 · 0 评论