c++开发的程序崩溃之后

线上一个c++开发的程序因为空指针异常,崩溃了。

而这个空指针异常是由于连接redis不稳定导致的,

actor模型就是为了对付这种情况的,actor模型的想法就是let it fail.

一个actor挂了之后,它的supervisor就发现,并且重启它。

在今天线上程序的崩溃原因下(连接不问题),这种重启是能解决这个问题的,至少使得对外的服务不至于中断。

其实用土一点的方式,也用c++写monitor做heartbeat检测,如果发现服务挂了,重启它。这样的做法也是可以的,但也要考虑一些事情,比如应用程序的状态怎么恢复。

事实上用消息队列+线程池就可以达到和actor模型类似的效果,或者说和go的CSP类似的效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容