美文网首页
开发随笔

开发随笔

作者: Hello_DH | 来源:发表于2018-01-29 21:12 被阅读0次

1、mysql数据库的最大链接是300到700。机械硬盘是300,固态硬盘是700。

2、缓存穿透是指黑客利用在缓存中不存在的key穿透过缓存直接访问数据库,这样并发的访问数据库导致数据库挂掉。用布隆过滤器进行过滤。

3、缓存雪崩,因为缓存失效导致数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都查数据库,导致数据库cpu和内存负载过高,甚至宕机。

第一种是由于缓存大面积同时失效导致,解决办法避免缓存设置相近的有效期。第二,对热点数据的持续高并发导致。解决办法是互斥锁lock.lock(),还可以用分布式锁。第三、有效期本身的机制,解决办法,缓存用不过期,异步更新,优点不阻塞线程,用户体验好,不会出现雪崩的效应,缺点,不保证一致性,代码复杂度增大,每个value都要维护异步代码更新,容易堆积垃圾数据。

4、countDownLatch 倒计数器,用于制造线程的并发执行

5、mysql优化的方式,一 读写分离 二 分库分表 三集群

6、用zk实现分布式锁,用到了lockcountDownLatch,利用zk的节点不能重名的特点,给zk加一个节点,如果有节点,线程阻塞。

7、数据库的表的主键最好用递增的int值,这样有利于分库分表,而且查询的速度也快。

8、数据库分库的几种方式。业内常见的水平切分方式有这么几种:

一、按照range水平切分

每一个数据服务,存储一定范围的数据,上图为例:

user0服务,存储uid范围1-1kw

user1服务,存储uid范围1kw-2kw

这个方案的好处是:

(1)规则简单,service只需判断一下uid范围就能路由到对应的存储服务

(2)数据均衡性较好

(3)比较容易扩展,可以随时加一个uid[2kw,3kw]的数据服务

不足是:

(1)请求的负载不一定均衡,一般来说,新注册的用户会比老用户更活跃,大range的服务请求压力会更大

二、按照id哈希水平切分

每一个数据服务,存储某个key值hash后的部分数据,上图为例:

user0服务,存储偶数uid数据

user1服务,存储奇数uid数据

这个方案的好处是:

(1)规则简单,service只需对uid进行hash能路由到对应的存储服务

(2)数据均衡性较好

(3)请求均匀性较好

不足是:

(1)不容易扩展,扩展一个数据服务,hash方法改变时候,可能需要进行数据迁移

9、工作线程的线程数量应该设置多少,比如说线程池的线程数量。结论

N核服务器,通过执行业务的单线程分析出本地计算时间为x,等待时间为y,则工作线程数(线程池线程数)设置为 N*(x+y)/x,能让CPU的利用率最大化。

相关文章

  • 收藏网页

    学徒杨小胖的开发随笔: piglikeyoung.com/page/2/

  • Autolayout、UIScrollview、Masonry

    Autolayout与UIScrollview 里脊串的开发随笔:UIScrollview与Autolayout的...

  • 使用TDD的好处

    tags:开发随笔 测试驱动开发(Test Driven Development)一直是我比较推崇的一种开发方式。...

  • 开发常用插件

    前言 开发所需常用插件,随笔 Android - Android studio Spring boot - ide...

  • ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理

    在前面两篇随笔《ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理》和《ABP开发框架前后端开发...

  • 开发随笔

    一个程序 功能做完很容易, 但是要做的健壮(包含容错处理,安全性等等),至少要多两倍的代码.

  • 开发随笔

    1 关于TextFiled 输入类容改变代理 过渡动画 手势冲突 改变状态栏颜色 先将View controlle...

  • 开发随笔

    1、mysql数据库的最大链接是300到700。机械硬盘是300,固态硬盘是700。 2、缓存穿透是指黑客利用在缓...

  • 开发随笔

    sleep usleep 两个函数都是挂起进程。 如果 挂起的时间 >= 1s 用sleep ,如果小于1s 就用...

  • 开发随笔

    为什么写博客 自己从事iOS开发这几年,学习了很多知识和技巧,但是还是感觉到自身能力的不足。有些知识学完就忘记,现...

网友评论

      本文标题:开发随笔

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