
读书笔记
6点A君
记录我学习的知识的地方~
展开
-
mysql innodb读书笔记
1、mysql数据库实例在系统上表现就是一个进程,被设计为一个单进程多线程架构。 mysql的my.cnf中datadir,该参数指定了数据库所在路径 mysql> show variables like 'datadir' -> ; +---------------+-----------------+ | Variable_name |原创 2017-09-30 07:55:58 · 561 阅读 · 0 评论 -
读书笔记-队列和Nginx
在系统中,不是所有的处理都必须实时处理,不是所有请求都必须实时反馈给用户。对于这样的业务,保证最终一致性,不需要强一致性。此时,更应该考虑使用队列来解决问题。当然,也需要考虑是否需要保证消息处理的有序性及如何保证,是否保证能重复消费及如何保证重复消费的幂等性。应用场景异步处理,比如用户注册成功后的优惠券,积分,异步更新缓存,异步写日志系统解藕:拆分系统后的进一步处理数据同步:比如将My...原创 2019-03-17 22:19:56 · 393 阅读 · 0 评论 -
读书笔记-缓存、数据库连接池
缓存,就是让数据更接近于使用者,目的是让访问速度更快。应用级缓存即在程序员层级进行缓存利用。缓存回收策略缓存主要有以下回收策略:基于空间。基于容量基于空间基于Java引用对象:软引用:当JVM堆内存不足时,垃圾回收器对其进行回收。弱引用:当垃圾回收器回收内存时,发现弱引用,则立即回收。回收算法:FIFO(First In First Out):先进先出算法LRU(Leas...原创 2019-03-11 23:35:04 · 799 阅读 · 0 评论 -
读书笔记-隔离
隔离是指将系统或资源分开,系统隔离是为了在系统发生故障时,能够限定传播范围和影响范围,即发生故障后不回出现滚雪球效应,从而保证只有出问题的服务不可用,其他服务可用。线程隔离主要指线程池隔离,实际使用时,将请求分类,交给不同线程池处理进程隔离讲系统拆分成多个子系统来实现物理隔离,使得某一个子系统出现问题时,不会影响到其他子系统集群隔离单实例服务无法满足需求,此时需要服务化技术,通过部署多...原创 2019-03-07 22:07:55 · 352 阅读 · 0 评论 -
读书笔记-超时重试、回滚与压测
超时与重试在开发中,很多故障都是没有设置超时时间导致的,可能会导致请求慢,连锁反映,甚至是雪崩。超时与重试可分为以下几个方面:代理层超时与重试:入Haproxy,Nginx,Twemproxy,这些组件可实现代理功能,入Haproxy和Nginx可以实现请求的负载均衡,而Twemproxy可以实现Redis的分片代理。需要设置代理与后端真实服务器之间的网络连接/读/写。Web容器超时:入...原创 2019-03-10 17:12:27 · 526 阅读 · 0 评论 -
读书笔记-限流与降级
限流限流目的是通过对并发访问/请求进行限速或者一个事件窗口内的请求进行限速,来保护系统。一般高并发系统常见限流有:限制总并发数(如数据库连接池、线程池)瞬时并发数(如Nginx的limit_conn模块)限制时间窗口内平均速率(如Guava的RateLimiter、Nginx的limit_req模块,用来限制每秒的平均速率)限制远程接口调用速率限制MQ消费限流算法主要有令牌桶...原创 2019-03-09 21:47:42 · 821 阅读 · 0 评论 -
读书笔记-负载均衡与反向代理
当访问一个域名例如www.baidu.com时候,浏览器首先查询DNS服务器获取对应IP,然后通过IP访问对应服务。一个很简单问题,当某台服务器重启或者故障,DNS有一定缓存事件,故障后切换时间长。外网DNS应该用GSLB(全局负载均衡)进行流量调度,将请求分配到最近服务器以提升体验。而当某一区域机房出现问题,可以通过DNS指向其他区域机房。对于内网DNS,使用一般轮询就可以了。对于一般应...原创 2019-03-06 22:09:39 · 295 阅读 · 0 评论 -
读书笔记-扩容
扩容对于一个系统,随着产品使用的用户越来越多,网站的流量会增加,最终单台服务器无法处理那么大的流量,此时需要用分而治之的思想来解决问题。扩容的方式:单体应用垂直扩容:直接通过增加单机硬件,如果CPU由32核升级到64核,硬盘扩展等。单体应用水平扩容:通过部署更多的镜像来实现。即负载均衡。应用拆分:讲一个大系统拆分成多个子系统,如网站系统和交易系统,而进行解耦。也可理解为SOA化,以RM...原创 2019-03-13 22:19:45 · 239 阅读 · 0 评论 -
读书笔记-系统设计原则
在设计系统时,需要多思考二八定律,在系统设计初期将有限的资源用到刀刃上,以最小可行产品方式迭代推进。高并发原则无状态应用是无状态,配置文件有状态,比如,不同机房需要不同数据源,那么需要通过配置文件或者配置中心指定。功能拆分 ,从大到小:系统维度,功能维度,读写维度,AOP维度(根据访问特征,按照AOP拆分,比如,商品详情页分为CDN、页面渲染系统等。CDN就是AOP系统)服务化 负载均衡...原创 2019-03-05 21:49:15 · 687 阅读 · 0 评论 -
阿里巴巴-Java开发手册-笔记小炒
双11买了本Java开发手册,通读了一遍,学习了很多规范问题,这些规范自己慢慢经历可能需要很长一段时间。这里记下笔记,以后随时也有的学习~序一致性很重要,无边无际争论的时间成本与最后的收益是成反比的。缩进使用四个空格,不使用tabif单语句必须加大括号,换行左大括号不换行编程规约以下编程规约命名风格强制部分代码中的命名均不能以下画线或美元符号开始,也不能以下画线或美元符...原创 2018-11-19 00:05:43 · 872 阅读 · 0 评论 -
redis 读书笔记
1、通过复制、持久化和客户端分片等特性,用户可以很方便将redis扩展成一个能够包含数百GB数据,每秒处理上百万次请求的系统。 redis是一种nosql数据库,redis不使用表,它的数据库也不会预订以或者强制去要求用户对redis存储的不同数据进行关联。2、高性能键值缓存服务器memcached也经常被拿来与redis进行比较,都可以存储键值映射,彼此的性能也相差无几,但red原创 2017-09-30 07:59:31 · 622 阅读 · 0 评论 -
http权威指南 读书笔记
0、URL与资源,HTTP报文,连接管理,代理,缓存,集成点:网关隧道及中继,web机器人,http-ng,客户端识别与cookie机制,基本认证机制,摘要认证,安全http, 实体和编码,内容协商与转码,1、URI:统一资源定位符,URI有两种形式,分别称为URL和URN(统一资源名)2、302:Redirect,到其他地方获取资源。3、浏览器处理连接流程: 1):原创 2017-09-30 07:57:35 · 424 阅读 · 0 评论 -
读书计划
计划从2019年4月中旬开始:亿级流量网站架构核心技术时间:2019年3月到4月初作者:张开涛读完了张开涛所著的《亿级流量网站架构核心技术》,从里面学到了对架构构建,优化的一些思路,还有许多的业界成熟的解决大流量的方法。大型网站系统与Java中间件实践时间:2019年4月初到5月初作者:曾宪杰该书介绍了大型网站系统所需的一些性能要素,从RPC服务框架,存储,消息队列出发,介绍了它...原创 2019-05-19 23:14:01 · 372 阅读 · 0 评论