美文网首页
2021-04-08

2021-04-08

作者: 一剑霜寒aa | 来源:发表于2021-04-09 15:22 被阅读0次

秒杀 https://www.jianshu.com/p/f7bc11a95e8a

https://www.kyjszj.com/htzq/2072.html

列表页优化

https://juejin.cn/post/6844903702545825805

1、组合key解决方案

2、sql exixt

3、对于扩展表字段的查询,只支持or操作,但不支持and操作

如何提高用户留存率

提高用户粘性

Cms

活动表

以uid为维度分表

Case1 方便查询某个用户开的活动

case2 查询某个用户的历史活动

流水记录表

以activityId为维度分表

Case1 查询某个活动的任务流水记录

任务表

数据分析模块

1、以活动为维度

查询这个活动

按天维度团的增量、用户的增量

Case1存在跨表查询

2、以个人为维度,查他参与了哪些活动

Case2存在跨表查询

Soa模块

接口

1 开团接口

   日常20qps

   凌晨1000qps

   618/双11 5000qps

   团100万

   任务流水300万

   每月拉新  2万

2 做任务接口

    助力任务

    签到任务

    下单任务

    分享任务

    浏览会场任务

3 历史数据查询

   团表:以用户的维护进行hash分表

   方便查用户的团数据

4 分析型

   同步到数据集市

    重难点梳理

    1、rpc接口版本升级问题

    现状

    对于同名方法,在蓝绿发布市可能存在问题

    我们可以查看实质上通过netty等方式传输之后在provider可以获得一个对应的DecodeableRpcInvocation这样就回到了包装前的invoker

    消费端

    配置invoker.listener参数

    在refer完时,发起check检查,

    检查provider是否存在该方法

    Attanment:加上test

    提供端

    如果包含test,则直接return

    通过filter扩展实现

2分组调用case

    消费端

    指定group

    将group作为一个参数

 3、rpc超时  数据补偿

       默认是fix,200线程队列容量为1

       EagerThreadPoolExecutor适用场景,避免task阻塞在队列里等待,优先创建线程

       3.1监控看的是task在线程池里面执行的时间,无法查看在队列里面等待的时间

       发生的场景

4限流

  客户端限流

  ActiveLimitFilter 

  限制客户端并行度service或者method维度

   针对服务端,没有提供app维度

   全局维度TpsLimitFilter

   ExecuteLimitFilter

   限制服务端并行度service或者method维度

   tps

    限流相关问题

 4.1、计数器算法

         描述:周期内达到指定次数,则触发限流。下一个周期,进行清零,重新开始。

         问题:无法触发临界问题

 4.2、滑动窗口算法

         描述:将时间周期划分n个小周期,分别记录每个小周期内访问次数,根据时间滑动删除小周期

                    窗口滑动的过程中,存在旧的窗口出队,新的窗口入队

                    优点:

                    可以很好的处理临界尖峰问题。

         问题:

4.3、漏桶算法

      描述:请求放入桶中的速度不做限制,如果桶满了,则触发限流。

                  放行的速率是固定的,通过这种方式,达到限流的目的。

4.4、令牌桶

      好处:限制请求的速度,小于或者等于令牌的生产速度,从而达到限流的目的

5 消费端线程池模型优化

    原来cache线程

    将序列化与反序列化、io解码与反解码放在业务线程,避免阻塞io线程,导致大量创建io线程

6大key优化

7 key的失效机制

8 缓存穿透

    缓存和数据库都没有数据,导致数据压力过大

     防止暴力攻击

9 缓存击穿

    是指一点热点的key, 不停的抗大并发,某一时间失效,导致大量请求访问数据库

    缓存没有数据,但是数据库有数据

10 缓存雪崩

     大量数据过期,且查询量过大,引起数据库压力过大

11 缓存预热

12 

    缓存不一致问题

    更新数据库,

    1)删除缓存

    2)更新缓存

相关文章

  • 中文四六级来了!

    Foreigners' Chinese Skills Get New Gauge 2021-04-08 342词 ...

  • 读书的意义

    The Importance of Books 2021-04-08 397词 四级成长 Around 130 m...

  • bitshares比特股数据20210408

    2021-04-08比特股BTS大额转账的记录 时间转出转入BTS数量20:10:03binance-bts-1b...

  • 试连载丨风生水起(31)

    2021-04-08 晴 封一鸣和杜晓晓去车站时,家里人都没去送,一是时间比较晚了,封一鸣怕影响封老师两口子的休息...

  • 2021-04-08

    有的人喜欢押大注,有的人喜欢小注分押,其实是一样的。把鸡蛋放在一个篮子里,把鸡蛋放在多个篮子里,也一样。

  • 2021-04-08

    “五大”倡议书 各位书友:由于疫情影响,我们一直在线上读书,所以在沟通交流等方面不是很...

  • 2021-04-08

    潘蔚20210408日精进打卡 一、感恩 感谢同事们辛苦工作 感谢王工帮忙写的申请 感谢厂家对配件的解答 感谢焦老...

  • 2021-04-08

    从上周日开始,我的左眼就像蒙了一层雾一样,光线变化的时候,眼睛有点发黑,也比之前变得容易疲劳。 我以为过几天就会好...

  • 2021-04-08

    2021年4月8日星期四阴历三月二十七 预祝明天女儿应聘老师职位成功!爱你哟

  • 2021-04-08

    没事,都没事儿

网友评论

      本文标题:2021-04-08

      本文链接:https://www.haomeiwen.com/subject/alvmkltx.html