- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 平时积累
平时积累1. 相关命令: 1). ll -ltr 排序查看文件 2). grep “” -r | vim - 3). pstack pid | vim - 显示每个进程的栈跟踪 4). ps auxf 5). gdb binary -c core文件 查看core文件
2016-09-28 09:49:00 775
原创 Basic Paxos算法
Basic Paxos算法背景Paxos算法是Lamport于1990年提出的一种基于消息传递的一致性算法。由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后重新发表到TOCS上。即便如此paxos算法还是没有得到重视,2001年Lamport用可读性比较强的叙述性语言给出算法描述。可见Lamport对paxos算法情有独钟。近几年paxos算法的普遍使
2016-09-25 00:04:24 2587 1
转载 Vector Clock/Version Clock
Vector Clock/Version Clockphysical clock 机器上的物理时钟,不同的机器在同一个时间点取到的physical clock不一样,之间会存在一定的误差,NTP可以用来控制这个误差,同一个机房内的机器之间的时钟误差可以控制在1us以内,跨机房可以控制在几十ms。两个事件a和b,a在机器M1上physical clock为12点5
2016-09-24 22:46:32 927
原创 分布式系统中的一致性协议总结
分布式系统中的一致性协议之两阶段提交协议(2PC) 两阶段提交协议是很常见的解决分布式事务的方式,他可以保证分布式事务中,要么所有参与的进程都提交事务成功,要么都取消事务,这样做可以在分布式环境中保持ACID中A(原子性)。 在两阶段提交协议中,包含了两种角色:协调者与参与者。参与者就是实际处理事务的机器,而协调者就是其中一台单独的处理分布式事务的机器。
2016-09-24 16:56:20 14140
原创 Python: Enum枚举的实现
Python: Enum枚举的实现 如果是新版Python用户(Python 3.4 with PEP 435):from enum import EnumAnimal = Enum('Animal', 'ant bee cat dog') 或者:class Animals(Enum): ant = 1 bee = 2 cat =
2016-09-22 11:22:50 1625
转载 用十条命令在一分钟内检查Linux服务器性能
用十条命令在一分钟内检查Linux服务器性能如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断。概述通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。uptimedmesg | tai
2016-09-18 20:34:08 8279
原创 Linux中CLOCK_MONOTONIC 与 CLOCK_REALTIME 区别
Linux中CLOCK_MONOTONIC 与 CLOCK_REALTIME 区别Clock_realtime 代表机器上可以理解为当前的我们所常看的时间,其当time-of-day 被修改的时候而改变,这包括NTP对它的修改(NTP:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英
2016-09-18 17:30:13 7804
转载 聊聊java高并发系统之异步非阻塞
聊聊java高并发系统之异步非阻塞几种调用方式同步阻塞调用即串行调用,响应时间为所有服务的响应时间总和;半异步(异步Future)线程池,异步Future,使用场景:并发请求多服务,总耗时为最长响应时间;提升总响应时间,但是阻塞主请求线程,高并发时依然会造成线程数过多,CPU上下文切换;全异步(Callback)
2016-09-16 10:51:17 5081
原创 API网关
API网关 api gateway 即 api 网关。所有的请求首先会经过这个网关。这有点类似于前端控制器模式,也有点类似于 Facade模式。 如下图所示: 由于所有的请求会先经过这个 api 网关,所以 可以在 这里做 权限控制,安全,负载均衡,请求分发,监控等等。 那么,为什么
2016-09-16 01:12:04 2328
转载 聊聊高并发之隔离术
聊聊高并发之隔离术 隔离是指将系统或资源分割开,系统隔离是为了在系统发生故障时能限定传播范围和影响范围,即发生故障后不会出现滚雪球效应,从而保证只有出问题的服务不可用,其他服务还是可用的;而资源隔离有脏数据隔离、通过隔离后减少资源竞争提升性能等。我遇到的比较多的隔离手段有线程隔离、进程隔离、集群隔离、机房隔离、读写隔离、动静隔离、爬虫隔离等。而出现系统问题时可以考虑负载
2016-09-16 00:31:55 1195
原创 MySQL半同步复制
MySQL半同步复制 MySQL为了容灾数据一致性服务,有几种复制方式: 主从复制方式,异步,半同步,lossless半同步复制方式。 异步的复制: 默认的复制是异步的,即master commit时不等更新被slave接受就向客户端回话应答成功。slave会对master有一个更新延迟,当master宕机,slave被提升为新的master时,必然会发生数据丢
2016-09-06 17:26:28 572
转载 聊聊高并发系统之队列术
聊聊高并发系统之队列术队列在数据结构中是一种线性表,从一端插入数据,然后从另一端删除数据。本文目的不是讲解各种队列算法,而是在应用层面讲述使用队列能解决哪些场景问题。在我开发过的系统中,不是所有的业务都必须实时处理、不是所有的请求都必须实时反馈结果给用户、不是所有的请求/处理都必须100%处理成功、不知道谁依赖“我”的处理结果、不关心其他系统如何处理后续业务、不需要强一
2016-09-06 16:58:16 2084
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人