Basic

关闭SSH连接

1. 查明登陆端口和登陆人 $ who secure :0 2015-07-22 03:03 (:0) secure pts/0 2015-07-23 00:27 (192.168.176.1) secure pts/1 2015-07-23 00:29 (:0) secure pts/2 2015-07-23 01:44 (1… 阅读更多 »关闭SSH连接

幂等性及数据防重复(转载)

1. 幂等性 用户对同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 2. 造成重复消费的原因 因为网络传输等等故障,确认信息没有传送到消息队列,导致消息队列不知道自己已经消费过该消息了,再次将该消息分发给其他的消费者。 例子1 在支付场景中,用户购买商品后支付,支付扣款成功,但是返回结果的时候… 阅读更多 »幂等性及数据防重复(转载)

系统吞吐量(TPS)、用户并发量、性能测试概念和公式(转载)

1. 系统吞度量要素 1.1. 基本概念 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。 单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS):每秒钟request… 阅读更多 »系统吞吐量(TPS)、用户并发量、性能测试概念和公式(转载)

LRU Cache原理与实现(转载)

1. LRU原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 1.1. 实现 最常见的实现是使用一个链表保存缓存数据,详细算法实现如下: 1. 新数据插入到链表头部; 2. 每当缓存命中(即缓存数据被访… 阅读更多 »LRU Cache原理与实现(转载)

数据同步及锁

1. 数据同步问题 有很多情况下需要考虑线程安全问题,一个全局的变量如果有可能会被多个同时执行的线程去修改,那么对于这个变量的修改就需要有一种机制去保证值的正确性和一致性,这种机制普遍的做法就是加锁。其实也很好理解,和现实中一样,多个人同时修改一个东西,必须有一种机制来把多个人进行排队。计算机的世界中也是如此,多个线程乃至多个进… 阅读更多 »数据同步及锁

多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)转载

1. 同步与互斥的概念   现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能: 都需要访问/使用同一种资源; 多个任务之间有依赖关系,某个任务的运行依赖于另一个任务。 1.1. 同步   是指散步在不同任务之间的若干程序片断,它们… 阅读更多 »多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)转载