深度解读 RocketMQ 存储机制
在《阿里开发者》公众号看到这篇文章,深度解析了RocketMQ的存储机制,对理解RocketMQ存储原理及进行性能优化很有帮助。原文地址:深度解读 RocketMQ 存储机制
RocketMQ 实现了灵活的多分区和多副本机制,有效的避免了集群内单点故障对于整体服务可用性的影响。存储机制和高可用策略是 RocketMQ 稳定性的核心,社区上关于 RocketMQ 目前存储实现的分析与讨论一直是一个热议的话题。本文想从一个不一样的视角,着重于谈谈我眼中的这种存储实现是在解决哪些复杂的问题,因此我从本文最初的版本中删去了冗杂的代码细节分析,由浅入深的分析存储机制的缺陷与优化方向。
查看原文
《你的善良必须有点锋芒》
你的善良,必须有点锋芒,否则等于零 —— 【美】拉尔夫·瓦尔多·爱默生
写在前面的话曾经听到过这样的一句话:God helps those who help themselves,翻译后的意思是:上帝只救自救者。佛经有一句相似的话:众生皆苦,唯有自渡。随着成长我开始逐渐理解这两句话的意思,想要追寻幸福的人生,必须要学会自救或者自渡。在成长的道路上,我们会遇见许多迷茫和困惑,阻碍我们的前进和成长之路,或许我们都希望有人能够帮助我们克服困难,但是问题的根本原因是我们始终过不去自己心中的那一关,就这样不断陷入内心的煎熬之中。看到这本书的时候一下子就被这本书的名字吸引,但是书阅读后发现,书中的内容犹如空中楼阁,这里更建议大家去读:《被讨厌的勇气》、《可爱的诅咒》以及《自卑与超越》,这些书籍结合心理学的知识,分析了问题的本质,结合切实的案例提供了解决之法。虽然这本书中更多是鸡汤,但是书中提到的很多现象值得我们思考探讨一下。
诚知此恨人人有,贫贱夫妻百事哀
《遣悲怀三首·其二》
唐·元稹
昔日戏言身后事,今朝都到眼前来。
衣裳已施行看尽,针线犹存未忍开。
尚想旧情怜婢仆,也曾因梦送钱财。
诚 ...
《能力陷阱》
《能力陷阱》(Act Like A Leader, Think Like A Leader)—— 像领导者一样行动,像领导者一样思考。
写在前面的话这本书很早就在樊登读书的APP上听过一次,当时听完后并未留下深刻的印象。随着自己工作经历的增加,开始不断反思自己的人生,发现自己像是掉入泥潭之中,不断挣扎,但却找不到方法和方向。有天在下班的路上,想起了这本书于是重新把这本书听了一遍,从中仿佛找到了方向。于是买了实体书来看,刚开始翻看了一部分,然后由于这样那样的原因一直无法静下心来去读完,直至今年五一假期,一鼓作气读完了这本书。起初我以为这是面向领导者的书籍,读完后发现,这本书适合每个想要在职业生涯中更进一步的人。我自己今年在工作中担任了小组长的角色,需要进行一些自我转变,这本书帮我分析清了自我转变的过程以及过程中会遇到的问题,并提供了许多方法。同时这本书让我学会了重新定义自己,打破自己曾经的思维困境,走出泥潭。
“有些书你可能早早的买来了,但是翻看了几页由于未能提起你的兴致,就搁置在书架上去了,直到有一天你从书架上看到了它并拿起翻看了一下,然后一下子被内容吸引一鼓作气读完了。当我们的人生 ...
EnvironmentChangeEvent的Listener执行顺序
一、问题背景项目中使用Nacos作为配置中心,实现配置动态更新,在配置类中监听EnvironmentChangeEvent事件对更新后的配置做一些初始化处理,代码如下:
CallbackConfig@Order()
@Data
@Accessors(chain = true)
@ConfigurationProperties(prefix = "transparent-delivery.callback")
@Component
@RefreshScope
public class CallbackConfig implements InitializingBean, ApplicationListener<EnvironmentChangeEvent> {
private static final Logger log = LoggerFactory.getLogger("CONFIG_LOG");
private List<ChatbotConfig> configs;
private Map<Integer, ChatbotC ...
Jack Welch关于绩效、活力曲线的观点
视频地址:Jack Welch关于绩效、活力曲线的观点
一、Jack Welch简介杰克·韦尔奇,美国企业家,于1981年至2001年担任通用电气(GE, General Electric)第八任首席执行官期间将该公司营业额提升到4100亿美金,有“中子弹杰克”(Neutron Jack)之称。
1.1 职业履历韦尔奇在1960年进入通用电气位于麻州皮茨菲尔德的塑胶部门担任工程师,当时年薪10,500美元。1972年升为该部门的副总,1977年升为部门总经理,1979年升为副董事长,1981年升为第八任最高首席执行官。在20年的生涯后于2001年退休。
1.2 经营手法韦尔奇担任通用电气首席执行官起,开始针对公司进行组织再造,他以“三个圈圈”列出通用电气的留存事业,将其他绩效不好的事业部出售或关闭,包括了成为通用电气传统的家电事业。因此,通用电气原有数百个事业,被缩减到不到20个事业。
1996年起,韦尔奇推动“六标准差”(6-Sigma),以将通用电气产品的不良率降低到千万分之34。
韦尔奇最受争议的改革,就是大幅裁员。通用电气员工人数由最高时的41万人裁减到23万人,裁员率高达 ...
非人力资源经理的人力资源管理
一、人力资源管理的技巧人力资源管理的核心:选、育、用、留
1.1 人力日常资源管理(HRM)
招聘与选材(Staffing)
薪酬与福利(C&B)
员工关系管理(Employee Relations)
绩效管理(Performance Management)
人力资源电子化管理(E-HR)
1.2 人力资源管理谁来做?
所有有下述的人都是公司的人力资源管理者
人力资源部门负责提供有力工具协助管理人力资源
公司老大就是首席人力资源管理者
人力资源管理成败关键中层管理者
二、选材实操篇
一慢:清理成年人在选材方面的定式/偏见
二慢:看看所招岗位需要什么素质
三通过: 通过行为面试法看人不走眼
我怎样综合评估候选人?
2.1 一慢:清理成年人在选材方面的定式/偏见
对一些人/事的刻板印象1、年龄2、性别3、学生会干部
试图寻找“超人”
校园招聘忽略应届生情商和逆商
2.2 二慢:看看所招岗位需要什么素质
简单工作分析——他上班后要做什么
提炼关键事件——要做的工作中最困难的是什么
确定胜任核心素质——要克服最困难的事需要什么素质
2.3 三通过: 通过行为面试法看人不走眼S ...
《一分钟经理人》
一、经典的“自上而下”严密的管理方式存在什么问题?经典的“自上而下”的严密的管理方式,能够严格规范员工的行为方式。但是放在今天,这种方式不能激发员工潜力还扼杀创造力。
二、一分钟管理法2.1 一分钟目标设定一分钟目标:
共同制定工作目标, 并清楚简洁地描述出来, 明确好的工作表现的标准。
每个目标都单独写在一张纸上, 并写下完成期限。
规定每天用几分钟时间, 重温自己最重要的目标。
鼓励人们用一分钟时间审视自己的表现, 检查是否与目标一致。
若与目标不一致, 反思自己的工作表现, 以便调整。
2.2 一分钟称赞进行一分钟称赞:
◆ 前半分钟
及时称赞下属。
告诉他们对在哪里—要说得非常具体。
告诉他们这件事情做对之后, 会让你感到多么高兴, 对整个团队和其他同事又会有多么大的帮助。
◆ 停顿一会儿
沉默几秒, 让他们静静地体会做对事带来的喜悦。
◆ 后半分钟
鼓励他们以后继续这样做。
明确说明你对他们有信心, 并会支持他们获得成功。
2.3 一分钟更正如果目标阐述清晰, 进行一分钟更正:
◆ 前半分钟
错误发生后立刻进行更正。
确认既有的事实, 分析错在哪里,要说得非常具体。 ...
到了一定年龄,低配生活,高配灵魂
本文摘录自新华社夜读文章: 到了一定年龄,低配生活,高配灵魂
part 1
有位作家说:“简朴的生活、高贵的灵魂,是人生的至高境界。”
年轻时,我们总以为人生就是要追求“高配置”的生活,追求豪华的车子、高档的房子、体面的工作……
渐渐地,聪明的人懂得:如果过于追求物质的“高配”,身体累,心更累;适当减减配置,人生才能活得自在从容。
看过一句话:“拥有就是被拥有。”意思是说,一旦我们拥有了某样东西,从那一刻起,我们也被这个东西所拥有。
比如,你拥有了一辆汽车,你同时被这辆汽车拥有,你常担心它被剐蹭、被偷,你要给它买保险、做保养。
比如,你拥有了一件奢侈品衣服,你同时也被这件衣服拥有,脏了要洗、皱了要烫、破了要修。
我们拥有的东西越多,需要担心和关注的外部事物就越多。
相反,如果我们在物质上追求简单,注意力就不会被太多的外物分散,就能集中精力去做自己喜欢的事。
很认可一句话:“简单的生活,不是苦行僧式的自虐,而是一种更为人性化的、经济的、环保的、轻松愉悦的生活。”
我们总是尝试拥有更多,却很少问问自己:拥有这么多之后,我就会幸福吗?
所谓物质低配,不是让你降低生活质量,而是在这个充满 ...
系统稳定性与高可用保障的思考
原文地址:稳定性与高可用保障的工作思路, 本文在原文的基础上做了一些补充和删减。
一、深入理解稳定性与高可用
维基百科上稳定性与高可用性的定义
稳定性
稳定性是数学或工程上的用语,判别一系统在有界的输入是否也产生有界的输出。若是,称系统为稳定;若否,则称系统为不稳定。
关于稳定性的定义我们可以总结归纳为 – 当系统接收输入后,能够产生正确的、符合预期的输出,称系统为稳定;否则,称系统为不稳定。
稳定性描述的是系统的行为,一个系统是否稳定,很难进行量化,但是可以通过否定的方式进行快速地判断。保障系统的稳定性或者说提高系统的稳定性需要通过各种方法来避免那些不稳定的情况发生。所谓的更稳定,客观上并不存在,是主观上希望避免或者减少不稳定的情况发生。
高可用性
高可用性(英语:high availability,缩写为 HA),IT术语,指系统无中断地执行其功能的能力,代表系统的可用性程度。是进行系统设计时的准则之一。高可用性系统与构成该系统的各个组件相比可以更长时间运行。
与稳定性不同,可用性一个可以量化的指标,计算公式在维基百科中描述如下:
根据系统损害、无法使用的时间,以及由无 ...
Java中一个对象占用多少个字节
说明:本文内容参考文章:码辣架构-Java对象的内存布局,详解内容请阅读原文。
一、问题背景在开发过程中,我们经常使用JVM进行缓存一些数据来提高程序的性能,但是我们需要对缓存的数据进行大小估算,防止产生OOM问题,为保证估算的准确性,需要了解一个Java对象在内存中具体占用多少个字节。
二、一个Java对象的组成
组成部分
对象头(object header)
实例数据(Instance Data)
对齐填充(Padding)
说明
包括了关于堆对象的布局、类型、GC状态、同步状态和标识哈希码的基本信息。Java对象和vm内部对象都有一个共同的对象头格式。
主要是存放类的数据信息,父类的信息,对象字段属性信息。
为了字节对齐,填充的数据,不是必须的。
大小
12 byte
基本类型数据类型和引用类型的大小
对象大小不满足8byte的倍数时进行填充
提示:JDK6之后默认都是开始指针压缩的,所以对象头中mark word占用8个byte,klass pointer占用4个byte
object header
Common structure at the be ...