首页 文章 精选 留言 我的

精选列表

搜索[长程任务],共10000篇文章
优秀的个人博客,低调大师

Go 里用 time.Ticker 做定时任务,为什么你的 goroutine 会泄漏?

线上有个用 Go 写的内部服务,跑了两天之后内存曲线一直缓慢往上走,pprof 一看 goroutine 数量比启动时多了好几千,而且全是同一个堆栈,停在 runtime.gopark 上。排查之后发现是几处用 time.Ticker 做轮询的地方出了问题。这类代码写起来很顺手:创建一个 Ticker,起一个 goroutine 循环读它的 C 通道做事情。但很多人会漏掉一件事——Ticker 不会自己停,只要你不调用 Stop,它背后的定时器和通道就会一直存在,即使读它的那个 goroutine 已经退出了。如果这段逻辑被反复触发,比如每次连接建立、每次函数调用都 new 一个 Ticker,goroutine 和定时器就会持续累积,最后表现成内存上涨和调度开销变大。这篇文章把 Ticker 相关的几个典型写法、泄漏是怎么发生的,以及更稳妥的替代方式讲清楚。

优秀的个人博客,低调大师

Docker Swarm 中构建可审计的 API 任务服务:服务发现、滚动更新与故障隔离

在多个容器共同提供 API 时,最容易被低估的问题不是“如何启动服务”,而是请求到底应该发往哪个实例、实例失效后如何恢复,以及升级期间怎样避免连接全部中断。单机 Docker Compose 可以解决进程编排,却不会自动提供跨节点调度和服务级别的故障恢复。Docker Swarm 的价值正在于此:它把一组容器提升为可声明的服务,并由管理节点维护期望状态。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册