以架构的思维看世界以架构的思维看世界
为什么要聊聊架构?
又到一年财年底,又到了各架构师们交配、no,交流的季节。各位纯纯欲动,开始为新年的规划发展开始忙活。最近一段时
间,本人也连续给多个新系统做了技术架构,也看了很多别人做的架构、老系统演进架构。
随着经历和经验的不断增加,貌似在画图工程师这条路上也有了一定的进步,跨入了画图高级工程师的行列。结合“知行合
一”的战略指导方针,在“格物致知”到一定程度后,也尝试通过自己的知识迁移能力、抽象总结能力,来寻找画图这件事里蕴含
的“道”。So,写一篇总结、软文、段子、睡前读物,来尝试“融汇贯通”一下这条修仙路上的体验。
在这里,不得不首先提到好友“云召”最近总结的名言,他高度概括了我们是在什么样的背景下开展画图工作的:
这一趴一定要头狼all in 996进来,解决当前的痛点,赋能上游业务,以众筹作为抓手,反哺团队全栈能力,整点干货,这样某
领导的D才能buy in
在这种背景下,产品化、一站式、赋能、中台能力都成为了高频词,我们的架构能够适应这些变化吗?
应该能帮你突破思维障碍的“通用架构思维”
在以“格物致知”为执行策略,“架构思维”为总体指导方针下,我们尝试对某一问题域进行不断的深入研究。
架构思维,作为一种帮我们全局理解问题、条理性梳理解决方案的方法论,TA会在产品能力、特性、边界、服务模型、运营
模式等纬度进行高度抽象和整合。而其本身也是可以再进行抽象的,貌似当无法上手思考如何架构一个事情的时候,会有这样
一套 “架构模板”,指导我们逐步上手,并结合我们的领域知识逐步深化。
下面尝试阐述一下这种思维方式。
小而美的问题驱动
无论是域架构、业务架构、系统技术架构,很大程度上都是问题驱动式的,通过问题直接找准解法,在很多人看来,这已经是
最后一步了。为对应的问题找出解法,这难道不就是解决方案吗?剩下的就只要找一些码农来写代码就行了啊,还有什么要做
的?
然而,结合前面所述的中台建设、产品化等要求,万里长征只开始了第一步。
下面我们从一个看似简单的问题域开始,以通用架构思维,搭建解决方案:
识别一句话中的错别字
凭感觉,应该是分词、监督学习等领域的内容。一来容易想不清楚,先在架构图里面随便画一块儿下来:
好,看起来完全看不懂,也不具备对代码结构进行指导的能力。程序猿不可能看着这个名词,就开始哼哧哼哧的all in并996
了。
于是继续思考,要支撑错别字识别这个核心能力,我们的业务领域需要具备些什么?首先我们可能要想到的是“分词”,然后要
想到的是基于分词后的一种监督学习形“纠错”,这种纠错方式我们暂时考虑用类似“规则”的方式进行管理。