扫码阅读
手机扫码阅读
一个糟糕的决策带来无尽的折磨
104 2024-08-23
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:一个糟糕的决策带来无尽的折磨
文章来源:
DevXTalk
扫码关注公众号
决策失误带来的困境
团队管理者可能会发现,每次迭代都需要更改之前的代码,整个项目繁琐且质量不高,导致团队成员不得不加班以完成任务,这种情况往往源于糟糕的决策。
案例分析:资源争夺与停机问题
以一个项目为例,业务接口、业务类和批处理Job类运行在同一个JVM中,带来了优雅停机的难题。优雅停机意味着在关闭服务之前确保正在执行的操作不受影响,这包括停止接收新请求、等待当前任务完成等。然而,在这个项目中,由于资源竞争,接口响应变得缓慢,服务似乎处于僵死状态。
Linux下的进程终止问题
在Linux中,使用kill命令可以发送信号终止进程。kill -15(SIGTERM)允许应用程序在关闭前做准备工作,而kill -9(SIGKILL)则立即强制关闭程序,可能导致数据丢失或资源未释放。Java应用可以通过设置shutdown hook来处理SIGTERM信号,但对SIGKILL无效。
解决方案:分离组件
建议对工程结构进行规范,例如将订单服务(order-service)拆分成多个模块,如order-web和order-job,它们可以单独部署,同时依赖公共模块,从而解决代码复用问题。
社区交流与招聘信息
DevXTalk欢迎程序员、架构师、IT从业者加入交流群,分享技术和行业经验。有招聘需求或想要推广开源项目的也可以联系。
想要了解更多内容?
查看原文:一个糟糕的决策带来无尽的折磨
文章来源:
DevXTalk
扫码关注公众号
速查2024上半年软考电子证书已出!
上一篇
没有了
下一篇
DevXTalk的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线