今天被一个架构师面了

  1. 上来就问读过什么框架源码
    说实话,没读过什么框架源码,这个以后要研究下了
  2. 用过什么设计模式
    我说了十来个
  3. Redis有哪些数据类型
    这个问的有点小二科了
  4. 设计一个连接池
    估计是问你设计能力
  5. 分布式事务更好的解决方案是什么
    两阶段提交中的第二阶段, 协调者需要等待所有参与者发出yes请求,或者一个参与者发出no请求后,才能执行提交或者中断操作。这会造成长时间同时锁住多个资源,造成性能瓶颈,如果参与者有一个耗时长的操作,性能损耗会更明显。
    实现复杂,不利于系统的扩展,不推荐。
    TCC (Try-Confirm-Cancle)

TCC,是基于补偿型事务的AP系统的一种实现,具有最终一致性。

对比与前面提到的两阶段提交法, 有两大优势:

TCC能够对分布式事务中的各个资源进行分别锁定,分别提交与释放,例如,假设有AB两个操作,假设A操作耗时短,那么A就能较快的完成自身的try-confirm-cancel流程,释放资源,无需等待B操作。如果事后出现问题, 追加执行补偿性事务即可。
TCC是绑定在各个子业务上的(除了cancle中的全局回滚操作),也就是各服务之间可以在一定程度上”异步并行”执行。
适用场景

严格一致性
执行时间短
实时性要求高
举例:红包、收付款业务。

异步确保型

通过将一系列同步的事务操作变为基于消息执行的异步操作, 避免了分布式事务中的同步阻塞操作的影响。

需要额外说明的一点,就是事务消息投递到MQ订阅方后,并不一定能够成功执行。需要MQ订阅方主动给予消费反馈(ack):

如果MQ订阅方执行远程事务成功,则给予消费成功的ack,那么MQ Server可以安全将事务消息移除;
如果执行失败,MQ Server需要对消息重新投递,直至消费成功。
注意事项

消息中间件在系统中扮演一个重要的角色,所有的事务消息都需要通过它来传达,所以消息中间件也需要支持 HAC 来确保事务消息不丢失。
根据业务逻辑的具体实现不同,还可能需要对消息中间件增加消息不重复,不乱序等其它要求。
适用场景

执行周期较长
实时性要求不高
例如:

跨行转账/汇款业务(两个服务分别在不同的银行中)
退货/退款业务
财务,账单统计业务(先发送到消息中间件, 然后进行批量记账)
最大努力通知型

这是分布式事务中要求最低的一种,也可以通过消息中间件实现,与前面异步确保型操作不同的一点是,在消息由MQ Server投递到消费者之后,允许在达到最大重试次数之后正常结束事务。

适用场景

交易结果消息的通知等。

出处:http://blog.csdn.net/hxpjava1/article/details/77841791
图片描述
微信扫描关注JAVA架构公众号噢,阿里大牛分享知识。
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加群。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加群。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加群。

  1. 群号:高级架构群 647631030备注好信息!

6.阿里Java高级大牛直播讲解知识点,分享知识,上面五大专题都是各位老师多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统架构备考资料CSND是一种非常有价值的学习资源。CSND是中国最大的IT社区之一,拥有众多的技术专家和开发人员,他们在这个平台上分享了大量关于系统架构的经验和知识。 首先,备考系统架构考试需要广泛的知识储备。CSND上的各种技术文章和博客可以帮助备考者全面了解系统架构的各个方面,包括软件设计原则、架构模式、系统集成和性能优化等。这些资料不仅涵盖了理论知识,还包括了实际案例和解决方案,对备考者来说非常有帮助。 其次,CSND上的技术论坛和问答社区是备考者交流学习的好地方。备考者可以在这里提问问题,与其他专业人士进行交流和讨论。这种互动不仅可以解决备考者的疑惑,还可以拓宽他们的思路和视野。 此外,CSND还提供了一些系统架构考试的相关资源和辅导材料。备考者可以通过阅读相关书籍、学习课程和参与训练营等方式提高备考效果。同时,CSND还定期举办技术沙龙和线下交流活动,备考者可以通过参加这些活动,与业界专家面对面交流,提升自己的专业水平。 总的来说,系统架构备考资料CSND是备考者非常有用的学习资源。备考者可以通过阅读技术文章、参与技术论坛、学习相关课程和参加线下活动等方式,全面提高自己的系统架构备考能力。希望备考者能够得到CSND的帮助,顺利通过系统架构考试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值