摘要:
CAS算法(compare and swap) CAS算法是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。CAS算法涉及到三个操作数 需要读写的内 阅读全文
摘要:
CAS算法(compare and swap) CAS算法是一种有名的无锁算法。无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。CAS算法涉及到三个操作数 需要读写的内 阅读全文
摘要:
先给大家套一个业务场景,也是很常见的一个异步调用场景: 支付宝往余额宝转钱 即将服务A假设为支付宝,服务B假设为余额宝。于是呢,我们的支付宝往余额宝转100块钱是怎么做的呢?特别容易,借助消息队列即可,如下图所示 一致性解决 OK,上面这一版有一个致命的问题!如下所示事务开始(1)给支付宝账户zha 阅读全文
摘要:
索引优化 select * from table where char_col= int_value => select * from table where char_col= 'int_value'select * from tabe where int_col='12abc' // 可以查出1 阅读全文
摘要:
转自: https://www.cnblogs.com/caoyusongnet/p/9087633.html 一. 端口号 标准的端口号由 Internet 号码分配机构(IANA)分配。这组数字被划分为特定范围,包括熟知端口号(0 - 1023)、注册端口号(1024 - 49151)和动态/私 阅读全文
摘要:
epoll工作流程 首先,需要调用epoll_create创建epoll; 此后我们就可以进行socket/bind/listen; 然后调用epoll_ctl进行注册; 接下来,就可以通过一个while(1)循环调用epoll_wait来等待事件的发生; 然后循环查看接收到的事件并进行处理; 1) 阅读全文
摘要:
前有了解过disconf,也知道它是基于zookeeper来做的,特意写了文章记录下自己的见解。如有错误,欢迎指正。 1、disconf-web会在启动时,将自身的host和配置文件注册到zookeeper上。配置文件会在zk上生成node。 2、client 端启动时,会有一个BeanDefini 阅读全文
摘要:
Zookeeper 1. 确保有所选语言的sdk,理论上github上第三方的库有一些,仔细筛选一下应该可以用。 2. 调用zookeeper接口连接zookeeper服务器。 3. 注册自身服务 4. 通过watcher获取监听服务的状态 5. 服务提供者需自行保持与zookeeper服务器的心跳 阅读全文
摘要:
HASH 在MySQL中,只有HEAP/MEMORY引擎表才能显式支持哈希索引 简单地说,哈希索引就是采用一定的哈希算法, 把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找, 只需一次哈希算法即可立刻定位到相应的位置,速度非常快。 从上面的图来看,B+树索引和哈希索引的明 阅读全文
摘要:
keepalived 1.轮循 每个请求逐个分发到后端服务器 2.加权轮循 按照分配的权重将请求分发到后端服务器 3.ip hash 轮询的基础上,保持一个客户端多次请求分发到一台后端服务器上 4.热备, 当挂了,才启用 backup5.fair法(非官方) 6.sina consoul 代理服务器 阅读全文
|