研发技术之路回忆录之一

背景

2019 年底的成都,寒风裹挟着湿气扑在脸上,我站在武侯祠附近酒店的窗前,望着灯火阑珊的街道,内心却满是对技术难题的焦灼。作为公司事业部技术总监,彼时的我正深陷容器平台性能瓶颈与疑难问题的泥沼,而整个城市的书店里,关于 OpenShift 的资料少得可怜,仅有一本中文翻译书籍,如同黑暗中的微弱萤火,成为我唯一的希望。​

每个周末,我都会早早来到新华书店。书店里弥漫着纸张与油墨混合的气息,我坐在角落,翻开那本珍贵的 OpenShift 书籍,逐字逐句研读,笔尖在书页间游走,记录下关键要点。午后的阳光透过玻璃洒在书上,时光仿佛静止,只有知识的汲取在悄然进行。夜幕降临,我匆匆返回酒店,顾不上疲惫,立刻打开电脑,将白天学到的理论付诸实践。键盘敲击声在寂静的房间里回荡,一行行代码从指尖流淌而出,我不断调试、优化,只为实现 OpenShift 自动化部署.netcore 应用,让它与 Java 应用成功连接,构建起微服务架构,实现基于 Grpc 通讯的高效协作。那时,不同团队使用不同技术栈,跨语言微服务已是行业常态,而我深知,突破这一技术难关,对整个项目的推进至关重要。

OpenShift is a container application platform from Red Hat. In essence, it's a supported distribution of Kubernetes using Docker containers and DevOps tools for accelerated application development. All source code for for OpenShift Origin , the upstream open source project that powers Red Hat OpenShift, is available under the Apache License (Version 2.0).

实践

选择 project

oc project hshreport-stage

创建事例程序

dotnet new web -o webapp cd webapp dotnet publish -c Release /p:MicrosoftNETPlatformLibrary=Microsoft.NETCore.App

oc new-build --name=mywebapp dotnet:2.2 --binary=true

oc start-build mywebapp --from-dir=bin/Release/netcoreapp2.2/publish

oc new-app mywebapp

oc expose svc mywebapp --port=8080 -n hshreport-stage

第二回

随着项目的推进,我搬到了金牛区的汉庭酒店。这里离万达广场很近,却无暇欣赏繁华。每个周末的中午,我只是匆匆在附近吃个简单的快餐,便又回到酒店投入工作。那段时间,广东营业厅取号小程序项目正面临高并发的严峻挑战,单体应用即便部署在 7 个实例、32GB 的服务器上,进行负载均衡,依然无法满足正常服务的并发需求。用户焦急等待的画面仿佛就在眼前,我心急如焚,通过远程协助,与团队成员一同深入分析问题。我们不断反思,最终意识到需要进行局部服务化改造,对系统瓶颈点进行细致入微的分析与优化,采用异步化架构,实现查询与写入分离,让系统性能得到质的提升。​

在那段紧张忙碌的日子里,音乐成了我心灵的慰藉。《塑料袋》《都选C》的旋律常常在耳边回响,歌词更是给予我无穷的力量。"已经记不清楚我从哪里来,忘记了为什么而存在,现在我还不想化作尘埃,因为我的故乡叫做未来......" 每当疲惫不堪时,这些歌词就像一阵狂风,吹散我心头的阴霾,激励我继续前行,摆好飞翔的姿态,去突破技术道路上的重重阻碍。​

一路走来,经历了无数个日夜的钻研与拼搏,我愈发深刻地体会到,每个人在技术之路上都有着不同的经历,但无论遇到多少困难与挑战,都要记得 "不忘初心,方得始终"。那些在酒店里度过的孤独时光,那些为解决难题而绞尽脑汁的瞬间,都将成为我人生中最宝贵的财富,照亮我继续在技术海洋中探索的道路。

当时聆听音乐是《塑料袋》,《都选C》,以下歌词用于共勉:

已经记不清楚我从哪里来

忘记了为什么而存在

现在我还不想化作尘埃

因为我的故乡叫做未来

没有什么事情会为我更改

也要摆好飞翔的姿态

你们不要妄想将我掩埋

总会有阵狂风带我离开

带我飞 过孤独

带我飞 过痛苦

带我飞 过幸福

带我飞 过你的心

没有什么事情会为我更改

也要摆好飞翔的姿态

你们不要妄想将我掩埋。

总会有阵狂风带我离开

相关推荐
dylan_QAQ4 分钟前
【附录】BeanFactoryPostProcessor的作用时机与核心实现?
后端·spring
熊猫片沃子17 分钟前
MyBatis 中 where1=1 一些替换方式
java·后端·mybatis
码事漫谈18 分钟前
C/C++ 宏中 `do { ... } while (0)` 的“零次循环”技巧
后端
it自21 分钟前
SpringMVC在前后端分离架构中的执行流程详解
java·spring boot·后端·spring·架构
咕噜签名分发可爱多26 分钟前
网站下载落地页有的地区打的开有的地区打不开如何排查问题
后端
dylan_QAQ27 分钟前
【附录】在spring中BeanDefinition 来源是由哪些?如何理解 BeanDefinition ,他在spring中起到了什么作用?
后端·spring
码事漫谈30 分钟前
CRT调试堆检测:从原理到实战的资源泄漏排查指南
后端
Java中文社群31 分钟前
必看!导致事务失效的7大典型场景!
java·后端·面试
_祝你今天愉快35 分钟前
HashMap 底层原理 (JDK 1.8 源码分析)
android·java·后端
曲莫终43 分钟前
JAVA原生Servlet支持SSE
前端·后端