佛教

总结一:

正念:观察自己的感受和情绪;接受你的感受和情绪;不要评判自己的感受和情绪;保持专注;

你可以问自己:“我现在感觉到什么?”“我的身体感觉怎样?”“我的思维和情绪是怎样的?”通过观察自己的内在体验,你可以深入了解自己的情绪和想法,从而更好地处理它们,减少烦恼和焦虑。

观察自己的感受和情绪:正念的第一步是观察自己的感受和情绪。这意味着不要试图压制或逃避你的感受,而是尝试意识到你感到痛苦。

接受你的感受和情绪:接下来,你需要接受你的感受和情绪,不要试图去改变它们或者对它们有所期待。这意味着你需要学会接受现实,和你所感受到的痛苦。

不要评判自己的感受和情绪:正念的第三步是不要评判自己的感受和情绪。这意味着不要指责自己或感到自己应该感到不同的情绪。你的感受是真实的,你需要承认并尊重它们。

保持专注:在你感到痛苦和不舍的时候,你可以通过专注于呼吸或身体感受来维持正念。当你的注意力转移到当下的经验和感受上时,你可以减轻痛苦并更好地处理情绪。

 

总结二:

更多的是关注当下,接受现实,感谢曾经拥有过的美好时光,而不是沉浸在痛苦和悲伤中,与家人和朋友建立正面和支持的关系,以获得支持和安慰。简单点说就是:正视情绪,观察情绪,接受情绪,保持专注,享受当下,不要有欲望,找朋友或家人诉说。

1.佛教的理念:

四谛:苦谛、集谛、灭谛和道谛,它们描述了人类的存在和解脱之路。

缘起性:一切现象都是由因果关系而生,没有永恒不变的实体存在。

无我:个体的存在是虚幻的,不存在永恒的自我。

涅槃:摆脱生死轮回,达到精神的解脱和平静的境界。

善恶因果:行善会带来好果,行恶会带来恶果,因果关系也是缘起性的体现。

2.佛教对个人有用的思想和方法包括:

禅修:通过冥想和静心,培养内在的平静和专注,从而超越烦恼和苦难。

正念实践:通过觉察和关注当下的感受、想法和行为,培养自我意识和觉醒,提升心灵的智慧和洞察力。

忍辱:面对困难和挑战时,保持冷静和坚忍的心态,不为外界所动,从而超越自我和烦恼。

善行积累:通过行善和修行,增加善业的力量,减少恶业的负面影响,从而获得更多的福报和正面能量。

真理探求:通过思考和探求真理,理解人类存在的本质和意义,从而超越生死和苦难,达到内在的平静和解脱。

3.七情六欲:

佛教认为七情六欲是导致烦恼和苦难的根源之一。七情指的是喜、怒、忧、思、悲、恐、惊等人类情感,而六欲则是眼、耳、鼻、舌、身、意六种感觉和欲望的表现。

佛教认为,七情六欲是人类烦恼和苦难的重要来源,因为它们让人们沉迷于欲望的循环之中,无法超越生死轮回。人们在追求欲望和感官刺激时,往往会忽略自己内心的真实需求和价值,从而导致贪婪、愤怒、嫉妒、焦虑、恐惧等负面情绪的出现。这些负面情绪和欲望,会阻碍人们内在智慧和解脱的发展,使人们陷入无尽的苦难之中。

因此,佛教鼓励人们通过禅修、正念实践等方式,培养内在的平静和洞察力,超越七情六欲的束缚,从而实现内心的解脱和精神的平静。通过摆脱欲望和负面情绪的影响,人们可以更好地关注自己内在的真实需求和价值,实现全面的人生成长和发展。

 

4.禅修

禅修是通过冥想和静心来培养内在的平静和专注,超越世俗的烦恼和苦难,实现心灵的解脱和平静。

禅修的核心是坐禅,下面是坐禅的基本步骤:

a.找一个安静、舒适的地方坐下,如禅堂或自己的房间。

b.采用莲花坐或半跏趺坐的姿势,身体直立但不僵硬,双手放在膝盖上,眼睛略微闭合,口微闭,舌头轻轻抵住上颚。

c.关注呼吸,让呼吸自然地流动,不要强迫控制它。注意呼吸进出的感觉,从鼻子进入、从嘴巴出来的气流,感受空气的温度和质地。

d.当你的注意力开始跑神,想到其他的事情时,不要把注意力引回呼吸,避免评判、分析、反应、幻想和担忧,只需要轻轻地把注意力带回呼吸。

e.继续保持这种状态,直到冥想结束。

5.正念

正念是通过觉察和关注当下的感受、想法和行为,培养自我意识和觉醒,提升心灵的智慧和洞察力。正念的核心是保持当下的专注和觉察,关注自己内在的体验,以此深入了解自己和周围的世界。下面是正念的基本步骤:

a.关注当下的感受和体验,比如呼吸、身体的感觉、外界的声音等。

b.不要评判、分析或反应,只是保持关注和觉察,让自己逐渐深入了解当前的状态。

c.然后开始观察自己的想法和情绪,不要试图改变或控制它们,只是保持觉察和专注。

d.当你的注意力开始跑神时,不要判断或批评自己,只需要轻轻地把注意力带回当前的感受和体验。

e.继续保持这种状态,直到禅修或正念结束。

6.正念练习及例子

练习:

a.呼吸观察:在舒适的姿势下坐下,专注于你的呼吸。注意你的呼吸进入和离开你的鼻子和口腔。当你的思维开始漂移时,不要被它们带走,只需轻轻地带回你的注意力到呼吸上。

b.身体感受观察:在坐禅中,你可以注意你的身体感受,例如你的重量感、紧张感、温度感等。注意这些感受时,不要做出任何评判或反应,只是观察它们,让它们自然地流动。

c.情绪观察:当你感到愤怒、焦虑或悲伤时,你可以观察你的情绪,注意你的身体和思维的反应。不要试图抑制或掩盖你的情绪,只是观察它们,让它们自然地流动。通过这种方式,你可以更好地了解你的情绪,并更好地处理它们。

d.思维观察:当你的思维漂移或杂念缠绕你的头脑时,你可以注意你的思维,观察它们的内容、流动和变化。不要被思维带走,只是观察它们,让它们自然地流动。

例子:

a.饮食:在吃饭时,注意你的食物的味道、口感和气味。不要分散你的注意力,只是享受你的食物。

b.行走:在走路时,注意你的脚步和身体的感受。感受你的脚掌与地面的接触,感受你的身体重量和平衡感。

c.与人交往:在与人交往时,注意你的情绪和反应。不要被情绪控制,只是观察它们。

d.工作:在工作时,注意你的呼吸和身体感受。保持专注和冷静,不要让压力和杂念影响你的工作效率。

e.睡眠:在睡觉前,可以进行正念冥想来放松自己。注意你的呼吸和身体感受,让自己进入深度放松的状态,以更好地入睡。

f.洗澡:在洗澡时,注意你的身体感受和水的感觉。感受水流的触感和温度,注意你的身体洗净和放松的感觉。避免心急洗澡和分散注意力,专注于当下的水和身体经验。

g.扫地:在扫地时,注意你的扫帚和地面的感受。感受扫帚的摩擦力和地面的杂物,注意你的手和身体的动作。避免心急扫地和分散注意力,专注于当下的扫地经验和感受。

h.呼吸:在呼吸过程中,注意气息的进出,专注于呼吸的感觉,避免杂念的干扰。你可以数数呼吸,或者专注于气息的感觉,从而帮助自己保持专注和平静。

7.佛教的苦

生老病死的苦:生命的自然流程包括出生、成长、衰老和死亡。这是每个人都无法避免的过程,也是人类普遍经历的苦难。

爱别离的苦:人类往往与亲人、朋友和其他人建立深厚的关系。当这些关系受到破坏或分离时,会带来痛苦和悲伤。

不得所愿的苦:当我们努力追求一些目标或满足某些欲望,但最终失败或无法实现时,我们会经历痛苦和失落。

五阴盖罩的苦:佛教认为人类的存在被五阴所覆盖,包括身体、感受、思想、意识和意识形态。这些阴盖让我们感受到许多形式的苦难,例如生理疾病、情感困扰和思想上的困惑。

怨憎会恼的苦:人类往往会因为别人的行为或态度而感到困扰或不快。这种情况下,我们经历的苦难可能来自于自己的怨恨、烦恼或憎恨。

8.苦的例子

a.假设一个人被诊断出患有绝症,面临生命威胁和痛苦的治疗过程。他可以通过修行和觉醒来减轻苦难的程度,例如:

通过正念冥想来认识自己的内心感受和情绪反应,并减轻焦虑和恐惧。

与家人和朋友建立正面和支持的关系,以获得支持和安慰。

关注当下的经验和感受,享受现在的生命,减轻对未来或过去的担忧和焦虑。

通过慈悲和无私的行为来提高自己的幸福感和生命意义,从而减少对生老病死的恐惧和痛苦。

b.当我们失去爱人时,我们可以怀着感恩的心,感谢曾经拥有过的美好时光和对方的陪伴,而不是沉浸在痛苦和悲伤中。我们可以思考自己如何继续前行,发掘生活中其他的美好,并把自己的经历和经验分享给身边的人,帮助他们度过类似的痛苦。我们还可以培养慈悲心,去关爱身边的人,让他们感受到我们的温暖和关爱。

总之,缓解爱别离的苦需要我们培养智慧和慈悲心,接受分离的不可避免,珍惜当下,关爱身边的人,并以感恩的心态对待生命中的一切。

c.缓解不得所愿的苦的方法主要有以下几个:

接受现实:接受现实是减轻不得所愿苦的第一步。我们不得不承认,有些事情不在我们的控制范围之内,无论我们如何努力,最终的结果可能不是我们期望的那样。接受这个事实,能让我们更加从容地应对挫折和失落。

改变态度:我们可以改变自己的态度来应对不得所愿的情况。这包括尝试从不同的角度看待问题,从失败中学习经验教训,寻找积极的方面,并以一种更积极的方式看待未来。

保持平静:当我们面临失落和挫折时,我们的情绪可能会变得焦虑、愤怒或沮丧。这时候,保持平静是减轻不得所愿苦的关键。我们可以通过冥想、呼吸练习或其他的放松技巧来保持平静。

换个方向:我们可以通过改变方向来应对不得所愿的情况。这包括尝试新的方法或寻找新的机会。

d.假如你和某个人之间有矛盾,你可以采取以下措施来缓解怨憎会恼的苦:

首先,不要攻击或责怪对方,而应该尽可能冷静地探讨问题的本质,找出共同点和不同点,以达成共识。

如果对方不肯合作或者态度固执,你可以尝试转移自己的注意力,将精力集中在其他的事情上,比如读书、运动或者和朋友聊天,以减轻自己的负面情绪。

同时,你也可以借助佛教的教义来缓解自己的怨憎会恼。你可以学习佛经,培养智慧和慈悲心,从而更好地处理和解决与他人的矛盾,同时也可以通过禅修等方式,调整自己的心态和情绪,从而缓解内心的苦

e.假设一个人感到身体疼痛,通过内观禅修,他可以不是针对疼痛本身,而是将注意力集中在感受身体疼痛的过程中,观察这种感受的变化和流动。逐渐地,他可能会发现疼痛感并不是静态不变的,而是在不断变化和流动之中。通过观照疼痛的变化和流动,他可能会逐渐认识到疼痛感并非固定不变的实体,最终超越了身体疼痛的苦。

注:还是找医生靠谱

9.八正道

苦的原因在于人们执着于欲望,可以通过八正道实现解脱。

  1. 正见:正确的看待世界和自我,摒弃错误的观念和想法,认识真实的人生和存在。
  2. 正思:正思维是指摆脱执著、偏见、成见和不真实的想法,不被过去或未来的想象所干扰,集中精神,以清晰、明了的思维来面对事物。
  3. 正语:发言真实,言行一致,不说谎话,不恶语相向,不背后议论他人,言语体现内心的美好。
  4. 正业:根据佛法和良心,从事合乎道德规范和社会公德的职业和工作,通过自身的努力实现自我提升和对社会的贡献。
  5. 正修:指正确的修行方法,包括禅修、念佛、持咒等方式,目的是通过反观内心,认识自我,超越烦恼,达到解脱和平静。
  6. 正精进:持之以恒地修行,不断提高自我,努力达到涅槃的境界。
  7. 正念:正念是指正确认知和正确认识的基础上,以注意力集中、持续和稳定的方式,保持对当前的感受和体验的觉知,不被外界的干扰所扰乱,保持心理平衡。
  8. 正定:通过正念和正精进的实践,达到内心的平静和专注,摆脱烦恼和执着,达到涅槃的境界。

10.离群索居

个人主义和离群索居的倾向:佛教重视个人的修行和悟道,但这种个人主义的倾向有时候可能会导致离群索居和对社会责任的忽视。

情绪的解析

一、跨越文化的情绪

不同文化的人都会有相同的情绪,遇到别人插队都会有厌恶的情绪,而不会有高兴、轻蔑的情绪产生。

二、我们何时变得情绪化

1.例子

当你正和朋友交谈时,突然对面来了一辆飞快的车,马上就要撞到你了,此时,你会冒冷汗,心跳加速,双腿充血,然后马上踩刹车打方向盘,最后救了你一命,这是因为恐惧情绪下的本能,是好的。即情绪是第一时间产生的,也是无意识的。

情绪是我们对切身的重大事件所产生的反应

存在共同的情绪诱因,但是也有个体差异。个体情绪的诱因,有后天学习得来的,是每个人经历的反应。

人类共有的情绪诱因。

2.九种产生或改变情绪的诱因

a.通过自动评估体系群的运作完成的;

b.从思考性评估开始,最后再以自动评估结束;

c.对过去情绪经历的回顾

d.想象

e.谈论过去的经历

f.体会别人的情绪

g.别人教给我们何时应该情绪化

h.违反社会规范

i.主动做出某种表情而产生相应的情绪

 

三、改变情绪诱因

悬崖边行走,尽管有护栏,依旧会有恐惧的情绪产生。表明,知识通常无法超越自动评估体系群对所产生的情绪的判断。

在情绪已经产生之后,我们也许能够意识到情绪是不必要的,然而情绪仍在持续。我认为,这类诱因要么是人类进化过程中形成的情绪主题,要么是后天习得的,与主题很相近。当后天习得的诱因与主题有较大差别时,意识才有可能干扰情绪产生的过程。换言之,如果关注的对象和主题相去甚远,我们有意识的选择才有可能超过自动评估体系群的判断。

Simon写作

一、task1概述

  • 20分钟完成。
  • task1不应该有结论和个人观点,只是描述图表,可以有个summary概要总结。

1.结构

a. 称呼
Dear Mr/Mrs. + name / Sir or Madam / officer / professor,   (正式用Sir or Madam; 半正式用Mr.+姓; 熟人用名)
b. 主体部分:3段
xxx
xxx
xxx
c. 结尾敬语及落款署名
Best regards/Best wishes/Yours sincerely/Yours faithfully,(正式用faithfully,半正式用sincerely,否则wishes)
Name

注:每一行顶头,段落中间空行。

 

2.例子

Dear Mr Li,

I am writing to xxx.

xxx.

Best wishes,

Tom

 

附录:https://zhuanlan.zhihu.com/p/266223414

3.雅思G类小作文常用句式

1.投诉信开头常用句式

I am writing to inform you that I am dissatisfied with your …

我写信是想告诉你我对你的……

I am writing to express my dissatisfaction with…

我写信是为了表达我对……的不满。

I regret to have to inform you that…

我很遗憾地通知你……

I feel bad to trouble you but I am afraid that I have to make a complaint about…

我很抱歉麻烦你,但恐怕我不得不投诉……

I am writing to complain about…

我写信是为了投诉……

1.投诉信结尾常用句式

I understand you will give immediate attention to this matter.

我知道你会立即处理这件事。

I would like to have this matter settled by the end of …

我希望在……之前解决这件事。

I feel something ought to be done about…

我觉得应该对……做点什么。

I hope that the above situation will be improved as soon as possible.

希望以上情况能尽快得到改善。

Your effort to provide good services will be highly appreciated by all.

您为提供良好服务所做的努力将得到所有人的高度赞赏。

We will appreciate your willingness to make up for the loss.

我们将感激你方弥补损失的意愿。

I am looking forward to a favorable reply at your earliest convenience.

我期待您在方便的时候尽早给我一个满意的答复。

Thank you for your consideration and I will be looking forward to your reply.

感谢您的考虑,期待您的回复。

I would like to have this matter settled by…

我希望这件事能在……之前解决。

I appreciate it very much if you could…

如果你能……我将不胜感激。

I trust that you will consider this matter seriously and make an effort to prevent the recurrence of this kind.

我相信您会认真考虑此事,并努力防止此类事件再次发生。

 

 

二、task2概述

  • 40分钟完成。
  • 需要250词以上,建议分4段,13句话。
  • 首段两个句子,中间两段,每段5句,末尾1句话总结,总共13段。
  • 写作时间:5分钟写开头,10分钟第一段,10分钟第二段,末尾5分钟。一共30分钟。然后构思可以用10分钟,整体40分钟写大作文。
  • 正文段落:不需要复杂的连接词,复杂的连接词不会提高词汇分,高级词汇分要靠topic vocabulary(主题词汇)。
段落 句子 时间 字数 备注
1 2 5mins 30-40 两句话,第一句题目概述,第二句对题目做出回答。
2 5 10mins 90-100 方法一:主题句(观点)。Firstly。扩充。Secondly。Finally。

方法二:主题句(观点)。解释1。解释2。解释3。例子。

3 5 10mins 90-100
4 1 5mins 不要出现新的观点,一句话,repeat(转述,用不同的词) or summary。

 

三、task2类型及首段

1.discussion

2.opinion

同意:

不同意:

中立:

3.Problem and solution

4.Two-part question

 

四、main body

1.概述

正文部分段落,分为以下方法。第一种适合想到的点比较多,第二种适合一种观点展开讨论的。

注:两种方法如何选用?需要自己区分是否是三个独立的观点还是只是同一观点的详细阐述。

2.第一种 – 框架

3.第一种 – 写作

4.第一种 – 五句话如何写

注:不需要复杂的连接词,复杂的连接词不会提高词汇分,高级词汇分要靠topic vocabulary(主题词汇)。

 

5.第二种 – 框架

注:上面几个点,都是对voluntary(自愿)的详细阐述,所以是同一种观点。

6.第二种 – 写作

7.第二种 – 五句话如何写

 

五、总结

一句话总结,不要引入新的观点,用新的词转述观点,或者做总结summary。

1.discussion

问题:

例子:

2.opinion

问题:

例子:

3.Problem and solution

问题:

例子:

4. two-part question

问题:

例子:

 

六、例子

1.agree or disagree

a.问题及框架

b.introduction

c.第二段

d.第三段

e.conclusion

16结束,下一课17 https://www.bilibili.com/video/BV15j411K79Z/?p=14&spm_id_from=pageDriver&vd_source=46ecf9bdfd8287ee029b66b491512f92

Spring cloud

一、Spring Cloud Config

1.自己维护client和server

  1. 把配置文件放在Git Repository中。
  2. Config Server从Git repository中读取配置信息。
  3. 其他客户端再从Config Server中加载配置文件

缺点:没法自动刷新,需要重启服务才能读到最新的配置,所以需要引入actuator可以自动刷新。

2.actuator实现自动刷新

每次发布配置后,需要访问一个接口,才会触发配置的更新。

3.Spring Cloud Bus

通过引入mq,可以达到自动更新的目的。目前官方支持kafka和RabbitMQ。

4.结合 Eureka 使用 Spring Cloud Config

通过将Spring Cloud Config注册在Eureka中,可以搭建集群实现高可用。注:Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。

  1. 把配置文件放在Git Repository中。
  2. Config Server从Git repository中读取配置信息。
  3. Config Server将自己注册到Eureka中
  4. Client从Eureka中获取Config Server的信息
  5. Client访问Config Server,加载配置信息

参考:https://blog.csdn.net/weixin_44335140/article/details/115801223

二、spring data jpa

总的来说JPA是ORM规范,Hibernate、TopLink等是JPA规范的具体实现,这样的好处是开发者可以面向JPA规范进行持久层的开发,而底层的实现则是可以切换的。Spring Data Jpa则是在JPA之上添加另一层抽象(Repository层的实现),极大地简化持久层开发及ORM框架切换的成本。

参考:https://blog.csdn.net/qq_42495847/article/details/107991361

MySQL实战学习总结

一、MySql架构

1.redo log和binlog

  • redo log 是 InnoDB 引擎特有的,而binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用
  • redo log 是物理日志,记录的是“在某个数据页上做了什么修改”;binlog 是逻辑日志,记录的是这个语句的原始逻辑,比如“给 ID=2 这一行的 c 字段加 1 ”。
  • redo log 是循环写的,空间固定会用完;binlog 是可以追加写入的。“追加写”是指 binlog 文件写到一定大小后会切换到下一个,并不会覆盖以前的日志

2.redo log和binlog协助处理流程

使用两阶段提交。先写redo log为prepare,后写binlog,然后更新redo log为commit状态。

3.InnoDB 的 redo log细节

简单说就是固定大小的一块地址,可以循环写,有两个指针,一个代表写入,一个代表擦除(持久化到DB了)

注:只要redolog有了,那么数据就不会丢了。

 

4.InnoDB 的索引模型

InnoDB 使用了 B+ 树索引模型,每一个索引在 InnoDB 里面对应一棵 B+ 树
左边为主键索引(聚簇索引),主键索引叶子节点存储的是整行数据;右边为非主键索引(普通索引、二级索引),叶子节点存储内容是主键的值。
使用主键索引查询可以直接获得数据,而使用普通索引需要先搜索得到主键的值,然后再根据主键查询主键索引得到数据(这个过程叫回表)。

 

Spring

一、Spring三大特性

IOC控制反转、AOP面向切面编程、DI依赖注入。

1.IOC控制反转

将创建对象的权利交给Spring来进行处理,可以减低计算机代码之间的耦合度。

  • 作用:解耦(减低程序间的耦合性)。
  • 优点:解耦,降低程序间的依赖关系;
  • 缺点:使用反射生成对象,损耗效率。

注:最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。

2.AOP面向切面编程

将纵向重复的代码(公共行为和逻辑)横向抽取出来并封装为一个可重用的模块,这个模块就是“切面”(Aspect)。简单的说就是将程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在每个流程里面都能执行到,而不用重复开发代码。

  • 优点:减少重复代码;提高开发效率;维护方便。
  • 主要用于:权限认证、日志、事务处理、埋点等。

3.DI依赖注入

  • 创建对象实例时,为这个对象注入对应属性值。
  • Spring的IOC有三种注入方式 :构造器注入、setter方法注入、根据注解注入。

 

二、Spring MVC 和Spring boot

都属于spring这个轻量级java开发框架。springMvc属于WEB开发的MVC框架,包含模型、前端视图、控制器(也就是对应逻辑)。springBoot框架相对于springMvc框架来说, 更专注于开发微服务后台接口,不开发前端视图,简化了配置流程,不需要配置xml等。

Hadoop

一、背景

一个任务:需要计算一个100M的文本文件中的单词的个数。写程序可以解决。

需要计算1T的文本文件汇总单词的个数,就需要有Hadoop了。

所以,简单说Hadoop就是存储海量数据和分析海量数据的工具。

二、Hadoop

Hadoop是Apache基金会开发的分布式系统基础架构。用java编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。

1.Hadoop框架的核心

HDFS:一个高度容错性的分布式文件系统,为海量的数据提供了存储。可以理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。

MapReduce:为海量的数据提供了计算。可以理解成是一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。

 

2.Hadoop作用

大数据存储:分布式存储

日志处理:擅长日志分析

数据挖掘:目前比较流行的广告推荐,个性化广告推荐

分布式事务框架

一、阿里开源框架Seata

1.正常提交

2.回滚

 

  • Seata实现2PC要点

1、全局事务开始使用 @GlobalTransactional标识 。

2、每个本地事务方案仍然使用@Transactional标识。

3、每个数据都需要创建undo_log表,此表是seata保证本地事务一致性的关键。

二、TCC模型

  • Try 阶段:对应 2PC 中一阶段的准备提交事务(Prepare);
  • Confirm 阶段:对应 2PC 中二阶段事务提交(Commit)。默认 Confirm 阶段是不会出错的,只要 Try 成功,Confirm 一定成功;
  • Cancel 阶段:对应 2PC 中二阶段事务回滚(Rollback)。

1.空提交

对于空提交,出现的情况为:第一阶段TM调用RM超时或者下游返回明确失败,此时TM仍旧调用下游执行提交的第二阶段,这对于RM来说,由于并没有Prepare阶段,然后收到了Commit请求,这就是一次空提交,对于TCC模型来说,空提交为系统的bug,需要业务进行处理。

2.空回滚

如图所示,TM在调用下游服务的一阶段Prepare操作时,因为超时而导致下游服务并没有收到请求,此时,TM会触发二阶段回滚操作,调用下游服务执行Rollback操作,因为下游服务在没有收到Prepare请求的情况下收到Rollback请求,这种场景被称为空回滚。 空回滚在实际使用中可能会出现,而且被视为正常情况,在处理业务逻辑时需要处理。

3.事务悬挂

如图所示,TM在调用下游服务的一阶段Prepare操作时,可能因为各种原因而TM没有收到下游响应,此时TM会执行Rollback操作。而对于下游来说,可能存在的一种情况是:下游服务先收到了Rollback请求,执行了空回滚操作,然后又收到了Prepare请求,然后执行了Try操作,此时,该下游服务的事务状态将永远存在于Prepare阶段,这种情况就叫做事务悬挂。 对于事务悬挂,目前处理的做法是设置事务悬挂检测程序,检测下游服务处于Prepare状态而上游服务处于Rollback的事务,调用下游服务执行二次Rollbacki操作。

三、基于消息中间件

1.A处理事务时,先向消息中间件发送一条消息,中间件进行消息持久化并返回应答; 2.A收到应答后开始处理并提交事务,提交成功后向消息中间件发送Commit请求(此时消息有可能丢失,如果发丢,由消息中间件的事务回查机制完成) 3.消息中间件收到Commit请求后便向B投递该消息; 4.B收到后开始处理事务,处理成功后向消息中间件返回应答 5.如果向B投递的消息未送达,则消息中间件重新投递该消息

通过以上流程实现了类2pc的流程,此时的消息中间件充当了TM的角色。

注:消息中间件有一个回查任务,定期扫描非最终态的消息,进行回查

四、其他

1.RocketMQ事务消息

执行流程:
1、Producer向Broker端发送Half Message;
2、Broker ACK,Half Message发送成功;
3、Producer执行本地事务(executeLocalTransaction);
4、本地事务完毕,根据事务的状态,Producer向Broker发送二次确认消息,确认该Half Message的Commit或者Rollback状态。Broker收到二次确认消息后,对于Commit状态,则直接发送到Consumer端执行消费逻辑,而对于Rollback则直接标记为失败,一段时间后清除,并不会发给Consumer。正常情况下,到此分布式事务已经完成,剩下要处理的就是超时问题,即一段时间后Broker仍没有收到Producer的二次确认消息;
5、针对超时状态,Broker主动向Producer发起消息回查(checkLocalTransaction);
6、Producer处理回查消息,返回对应的本地事务的执行结果;
7、Broker针对回查消息的结果,执行Commit或Rollback操作,同Step4。

 

 

雅思每日任务

一、个人

1.口语

  • 每天背三句
  • [背词+听+影子跟读]P1P2P3素材
  • P1、P2写答案并录音练习
  • [背+复述+模仿]P3的100道题目及重点词句
  • 复习课件
  • 8句话扩展每天练一遍

2.阅读

  • 背诵538同义替换 30分钟
  • 背诵阅读14天同替 20分钟
  • 做一套题
  • 复习课件,背诵对应积累的词

3.听力

  • 语料库50分钟(看三遍):95%正确率  (p0)
  • 点听:用c8或者c14  (p1)
  • 复听:用c8或者c14 (p2)
  • 做一套题:一步一步练,先练c11 12 13 15 的s1和s4,后练习s2、s3,分析题干和点复听。 (p2)
  • 考前一周集训:地图训练  (p1)
  • 背诵179同义替换 20分钟 (p2)
  • 复习课件

4.写作

  • 写一篇作文
  • 复习课件

二、官方

1.听力

  • 复习课件——最为重要——方法论一定要超级熟练背诵(中文+英文);8句话扩展每天练一遍
  • 每天背三句
  • P1P2P3素材背词、反复听、努力且不纠结地进行影子跟读
  • 评分标准解析视频课+做笔记视频课
  • 阅读文章练习
  • 准备并练习答题
    • P1不要背答案,自己练习录音回答,听自己的回答、改错、提升
    • P2不要背答案,可以直接录音回答,也可以把自己的答案写下来之后,再练习回答
    • P3练习初期可以背/复述/模仿我的回答,充分模仿我的回答(词汇、句型、思路)

 

三、资料

1.口语每天推8句话

  • what I love the most about my neighborhood is all the good amenities there
  • for me, the best way to relax is just hanging out with my parents
  • my primary school was so close to our house that I would just walk to school every day
  • I should definitely do more to protect the environment
  • we see advertisements everywhere
  • the house that I grew up in was kind of big
  • sitting in the back of the car appeals to me more cuz I can do my own thing back there
  • I haven’t planted any flowers, but I’ve kept some

从这八句话开始推,每天推一遍,每一天推出来的最好不一样