获得徽章 1
- #青训营笔记创作活动#
2月16日 打卡day30
今日学习 跨域问题
在请求时,如果出现了以下情况中的任意一种,那么它就是跨域请求:
协议不同,如 http 和 https;
域名不同;
端口不同。
在 Spring Boot 中跨域问题有很多种解决方案,比如以下 5 个:
使用 @CrossOrigin 注解实现跨域;
通过配置文件实现跨域;
通过 CorsFilter 对象实现跨域;
通过 Response 对象实现跨域;
通过实现 ResponseBodyAdvice 实现跨域。展开评论点赞 - #青训营笔记创作活动#
2月15日 打卡day29
今日学习 Flowable 开篇,流程引擎扫盲
所以现在市面上主流的流程引擎就一共有三个:
Activiti
Flowable
Camunda
这三个各有特点:
Activiti 目前是侧重云,他目前的设计会向 Spring Cloud、Docker 这些去靠拢。
Flowable 核心思想还是在做一个功能丰富的流程引擎工具,除了最最基础的工作流,他还提供了很多其他的扩展点,我们可以基于 Flowable 实现出许多我们想要的功能(当然这也是小伙伴们觉得 Flowable 使用复杂的原因之一)。
Camunda 相对于前两个而言比较轻量级,Camunda 有一个比较有特色的功能就是他提供了一个小巧的编辑器,基于 bpmn.io 来实现的(松哥之前已经发文讲过了)。如果你的项目需求是做一个轻巧的、灵活的、定制性强的编辑器,工作流是嵌入式的,那么可以选择 Camunda。展开评论点赞 - #青训营笔记创作活动#
2月15日 打卡day28
今日学习 基于 AOP + Redis + 自定义注解 实现细粒度的接口IP访问限制 | 开源微服务项目
一般向外暴露的接口,都需要加上一个访问限制,以防止有人恶意刷流量或者爆破,访问限制的做法有很多种,从控制粒度上来看可以分为:全局访问限制和接口访问限制,本文讲的是接口访问的限制。展开评论点赞 - #青训营笔记创作活动#
2月13日 打卡day27
今日学习 分库分表
分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。
分库分表是由分库和分表这两个独立概念组成的,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。
一旦数据量朝着千万以上趋势增长,再怎么优化数据库,很多操作性能仍下降严重。为了减少数据库的负担,提升数据库响应速度,缩短查询时间,这时候就需要进行分库分表。展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day26
今日学习 缓存和数据库不一致性问题
什么样的数据适合放入缓存?精简为四字就是:读多写少
1、缓存穿透
缓存穿透是指用户在不断访问一个缓存和数据库中都没有的数据。
缓存无法命中,从而导致一直请求数据库,流量过大就会导致数据库的崩溃.
2、缓存雪崩
Redis挂掉了,请求全部走数据库
3、缓存击穿
缓存击穿和缓存穿透其实非常类似,但是缓存击穿说的是数据在缓存中没有,但是在数据库中有的数据。
展开评论点赞 - #青训营笔记创作活动#
2月10日 打卡day25
今日学习 高并发缓存
本地缓存在集群多节点场景下会遇到的一个很常见的缓存漂移现象:因为业务集群存在多个节点,而缓存是每个业务节点本地独立构建的,所以才出现了更新场景导致的本地缓存不一致的问题,进而表现为上述问题现象。
开发人员对缓存进行了整改,将本地缓存改为了Redis集中式缓存。这样一来:
缓存不一致问题解决:解决了各个节点间数据不一致的问题。
单机内存容量限制解决:使用了Redis这种分布式的集中式缓存,扩大了内存缓存的容量范围,可以顺便将很多业务层面的数据全部加载到Redis中分片进行缓存,性能也相比而言得到了提升。展开评论点赞 - #青训营笔记创作活动#
2月9日 打卡day24
今日学习 高并发下秒杀商品细节
瞬时高并发
页面静态化
秒杀按钮
读多写少
缓存问题
库存问题
分布式锁
mq异步问题
限流展开评论点赞 - #青训营笔记创作活动#
2月8日 打卡day23
今日学习 为什么用公钥加密却不能用公钥解密
因为大数取模运算是不可逆的,因此他人无法暴力解密。但是结合欧拉定理,我们可以选取出合适的p(公钥), q(私钥), N(用于取模的大数),让原本不可逆的运算在特定情况下,变得有那么点“可逆”的味道。数学原理决定了我们用公钥加密的数据,只有私钥能解密。反过来,用私钥加密的数据,也只有公钥能解密。展开评论点赞 - #青训营笔记创作活动#
2月7日 打卡day22
今日学习 Redis
随着互联网时代的崛起,人们对于网站访问速度有着越来越高的要求,直接使用关系型数据库的方案在性能上就出现了瓶颈。因此在客户端与数据层之间就需要一个缓存层来分担请求压力,而 Redis 作为一款优秀的缓存中间件,在企业级架构中占有重要的地位,因此 Redis 也作为面试的必问项。展开评论点赞 - #青训营笔记创作活动#
2月6日 打卡day21
今日学习 MySQL索引应用
学习以下几个问题的解答:
索引虽然能给MySQL检索数据的效率带来质的飞跃,但加入索引没有带来新问题吗?
既然索引能够提升查询性能,那是不是为表中每个字段建立索引,性能会更好?
一张数据表中,哪些类型的字段不适合建立索引呢?又是因为什么原因呢?
表中会存在大量的字段,但其中哪些字段建立索引才能够最大的性能收益呢?
MySQL提供的索引种类也不少,一个字段上建立什么类型的索引才最好呢?
当表中存在多个索引时,一条查询SQL有多条路径可走,此时走哪条索引最好展开评论点赞