你需要的不是大量的行动,而是大量的耐心。
随大流只会让你往平均值靠近。

查理·芒格

阅读全文 »

《Only the Paranoid Survive》,读下来没感觉到和“偏执狂”有什么关系。

这本书主要讲随着时代发展,企业及个人如何发现变化及时做出调整。主要讲企业,企业由高管带领,讲述高管应如何做。

记录一些看的懂得重点。

阅读全文 »

本周参加了公司内部通用能力培训,总结一下。本篇是强哥关于项目管理的分享。
之前带过一些项目,自己的一些做法暗合分享内容。但不成体系,拾人牙慧,整理一下。

阅读全文 »

发送消息步骤

ProducerRecord 对象需要包含目标主题和要发送的内容。我们还可以指定键或分区。

阅读全文 »

概述

RAFT协议作用是保证分布式系统同一数据的一致性(与2pc不同,2pc是保证多个数据的原子性)。

采取的方式是分布式系统中只有一个节点接收数据,然后向其他节点复制

在一个由 Raft 协议组织的集群中有三类角色:

  1. Leader(领袖)
  2. Follower(群众)
  3. Candidate(候选人)

Raft将问题分解和具体化:Leader统一处理变更操作请求,一致性协议的作用具化为保证节点间操作日志副本(log replication)一致,以term作为逻辑时钟(logical clock)保证时序,节点运行相同状态机(state machine)得到一致结果。Raft协议具体过程如下:

阅读全文 »

定义

提供一个作用于某对象结构中的各元素的操作表示,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作,属于行为型模式(创建型、结构型、行为型)

解决问题

操作复杂对象结构,将数据与操作分离。稳定的数据结构和易变的操作耦合问题。

何时使用

需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作”污染”这些对象的类,使用访问者模式将这些封装到类中。

阅读全文 »

背景

8.21日bdop dev环境机器突然发生oom服务不可用,重启服务后也很快发生OOM。

之前一直运行没问题,OOM是突然发生的。

阅读全文 »

锁是什么

锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

防止更新丢失,并不能单靠数据库事务控制器来解决,需要应用程序对要更新的数据加必要的锁来解决。

阅读全文 »

ZooKeeper是一个用于分布式应用的开源分布式协调服务。它提供了简单的原语集合,分布式应用可在这些原语之上构建用于同步、配置维护、分组和命名的高层服务。ZooKeeper的设计使得编程容易,并且使用类似于广泛熟知的文件系统目录树结构的数据模型。它运行在Java环境中,但是有Java和C语言绑定。分布式协调服务是出了名的难得编写正确,很容易出现竞争条件和死锁之类的错误。ZooKeeper的动机是减轻为分布式应用开发协调服务的负担。

阅读全文 »