V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lewis89  ›  全部回复第 9 页 / 共 83 页
回复总数  1643
1 ... 5  6  7  8  9  10  11  12  13  14 ... 83  
@Dongxiem #6 那其实就是 try-catch-finally... 结果整半天 还是回到 try catch finally 这个流程上面来了
2021-02-07 09:03:51 +08:00
回复了 Caesar123 创建的主题 程序员 基于本地消息表的事务补偿中间件 tx-queue
@Caesar123 #3 是的,我有测试过,本地消息表 可靠性好,加一个消息的写入并不会增加太大的事务压力,而且可靠性比 使用预提交的消息队列 要简单的多,麻烦的是 如果你做了水平拆分,消息如果是落地对应的分库那么本地事务就好说,如果消息统一落地一个统一的库 那么就是 XA 事务 做起来更复杂,如果消息有全局顺序依赖 提取多个分库的本地消息表就不太好做.. 当然一般不会有业务有全局消息依赖,都是局部顺序依赖

如果只是提交给消息队列,通过预提交 由消息队列中间件来询问你本地事务是否提交 是一个比较简易的方案,消息顺序性其实是消息中间件来保证了.. 应用层只要考虑分布式锁来保证消息的投递顺序..
2021-02-06 21:55:04 +08:00
回复了 Caesar123 创建的主题 程序员 基于本地消息表的事务补偿中间件 tx-queue
本地消息表? 之前用这个方案被面试官吐槽了..
因为用消息队列本身就是因为本地事务太大,可能导入写入压力大,而把写入压力交个消息中间件,
然后通过消息来维护数据的最终一致性
2021-02-05 20:28:13 +08:00
回复了 zhoudaiyu 创建的主题 Go 编程语言 有没有哪里能通俗易懂地讲明白 Go 的并发?
@zhoudaiyu #5 你要完全弄懂,自己用 C 语言手动实现一个协程,然后配合 epoll 多路复用 就能明白 goroutine 了
2021-02-05 20:26:11 +08:00
回复了 zhoudaiyu 创建的主题 Go 编程语言 有没有哪里能通俗易懂地讲明白 Go 的并发?
@zhoudaiyu #5 你要弄懂协程 自然要弄懂 如何上下文切换.. 深入到细节 就又回到计算机体系结构了,又让你回到最底层了,因为一个很简单的问题,为什么要用协程,我们有好好的线程模型不用.. 你要解释这个 没点基础功夫 是不行的
2021-02-05 20:24:20 +08:00
回复了 zhoudaiyu 创建的主题 Go 编程语言 有没有哪里能通俗易懂地讲明白 Go 的并发?
如果你没有听说过 syscall rsp rbp ip fastcall ABI 信号中断 多路 IO 复用 stackfull 这些概念或者名词 还是老老实实打基础吧..

打好了自然就明白了 ,能写的 go 的人 牛逼之处不是他用 go 语言编程有厉害,而在于能写 go 的这个人对计算机体系结构有多深刻的认识..
2021-02-05 20:18:20 +08:00
回复了 zhoudaiyu 创建的主题 Go 编程语言 有没有哪里能通俗易懂地讲明白 Go 的并发?
@lewis89 #2

还有 Linux 常见的 IO 模型 以及多路 IO 复用技术
2021-02-05 20:17:26 +08:00
回复了 zhoudaiyu 创建的主题 Go 编程语言 有没有哪里能通俗易懂地讲明白 Go 的并发?
没有什么办法可以让你通俗易懂,真的,能写 go 调度器的人 至少得会以下几个技能

各平台的汇编以及栈幁结构(不然你真不知道协程调度是如何完成上下文切换的 以及如何实现动态栈伸缩)
操作系统信号机制 (不然你真的不知道如何实现抢断式调度)
monitor 锁 (不然你真的不知道多线程如何通信 如何同步)
调度算法 (不然你真的不知道如何调度)

建议还是老老实实先读 CSAPP 现代操作系统原理 这两本书
1 ... 5  6  7  8  9  10  11  12  13  14 ... 83  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2697 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 15:12 · PVG 23:12 · LAX 08:12 · JFK 11:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.