2024学年年度书单
还没时间整理这些,杂乱写些。
这本书是在蚂蚁学习那会看的,架构方面的基础知识还是薄弱,也没看懂多少。
但是收获了一些启发。这几天在这边接触一些发展前沿的东西:隐语隐私计算框架的会议
OceanBase数据库系统、机密计算、以及SOFAStack……
还有最近感觉已经很普及的:Docker、k8s
后边发展可能也想深入做一做这种。所以先整理整理。
微服务架构
先说微服务架构
原来“四川大学微服务”不是一个软件名,而是应用了微服务架构的系统,将传统ERP系统的性能实现大大提升。
找到很多篇文章说川大在2020年左右把微服务架构上线的,并且引用过学校信息化办的官方文件。于是就想找找学校官方是怎么介绍它的微服务架构的,最后也没找到。
这个应该还是挺前沿的,AI说目前应用这个的高校很少,泥川还是第一梯队呢。
微服务架构是SOA的延申,SOA把系统中的各个功能点拆开,独立部署、开发、运维管理,微服务则是将功能点再拆开,并分类,形成独立容器化服务。系统的一部分功能异常不影响整个系统。
Kubernetes
然后是k8s
这个从去年开始就经常听说,是管理docker的,以前听过说有学长做这个去了。具体怎样还没体验过。有点好奇。
SOFAStack
云计算天生适配分布式架构,所以这些场景都在云原生架构里边。
这个SOFAStack是在开源之夏今年的结项宣传中看到属,属于是蚂蚁集团金融安全的上层中间件。那个公众号之前还在宣传铜锁社区。后来就全是SOFAStack了,看宣传采访感觉这个社区非常活跃呀,做这个开源之夏项目的人看起来也好牛哇。(像这种分布式,高性能,云计算场景的项目,我看到的基本都是名校的研究生在做……做之前就已经参与社区开发好久了)
之后也想接触接触这个。
OceanBase
OceanBase 是一个开源分布式数据库系统,由阿里巴巴集团自主研发的。
书上说对于企业级IT架构,分布式系统会比传统单体系统节省成本10倍。
网上也有新闻说,Boss直聘通过OceanBase节省70%存储成本……
具体数据库实现技术我现在还很陌生。
机密计算
然后就是机密计算
这部分在这边基础安全部,旁边就是蚂蚁密算科技。现在这种大厂的运作模式都是独立子公司做事。那天翻到本说这个的书,什么零信任框架,零知识证明……都在这个范畴,学校上课到后边也提过这些。这些都是基于传统密码安全体系之上的。我看到的其中一个描述是,关于操作系统的驱动层面的安全防范,包括什么侧信道攻击。
我做的这个SDF我以为安全级别看起来天衣无缝了。即使换了服务器管理员,从内部破坏,都能很大减轻威胁。
但如果服务器机房被占领呢?直接被物理黑客带走了机柜,机密计算似乎可以保障全流程的安全。像这种全球Top级的金融企业是追求极致的安全的,它们拥有庞大的数据,丰富的运维经验,以及全链条的软硬件和人员支持。这部分的研究也是学校和一般企业做不了的。(我还参观到了不少实验室,看起来非常高端那种)
对于基础安全来说,老师说Top级可能是三卫信安,上证通这些。
但是金融交易,软件应用层面的安全蚂蚁应该是Top1了。
当然这种大厂对基础安全也很重视,因为这都是基座吧~
确实铜锁也是这些上层应用的默认密码库。但内部还有antssm……,这种基于铜锁内部定制的密码库。铜锁也是现在唯一一个达到商用密码一级的密码库。如果SDF、SKF完美支持的话,它可能就能去送检商用密码二级了~~~
前后端
最后还有一个前后端架构的问题找到了答案。
就是在搜索相关知识的时候,这部分忽然就触类旁通了。
以前这里其实从来没想清楚,所谓前端,后端
前端还好理解,静态的代码,由浏览器提供运行环境,服务器直接发送源代码。
但是后端?究竟是谁在解析TCP,谁在解析HTTP,谁在完成业务逻辑?谁在反向代理?……
首先解释反向代理,nginx的招牌功能之一,这个实际上就是端口转发。将某个端口收到的包转发到另一个IP:端口。
但是,我们常说的那个端口转发工作在网络层或传输层,只负责把数据包原封不动地转发。
反向代理工作在应用层,除了转发,还能负载均衡,TLS(https的支持),缓存……它相当于后端的“前台”,客户端感知不到后端到底有多少台业务服务器。
nginx招牌功能之二,Web服务器,所谓Web服务器,是要解析TCP流量的,也就是说,它工作在传输层与应用层之间。
可以用C、汇编、……手搓一个Web服务器,但是nginx是具备实用功能的。
最后就是很火的那个SpringBoot,以前还听说Tomcat(部署靶场用),它们的位置在哪?
Tomcat,Tomcat也能像nginx一样返回前端静态文件,也可以充当简单的Web服务器。
但是Tomcat工作在 Servlet 容器 层,需要 JVM,把 HTTP 请求封装成 HttpServletRequest,调用你写的 Java 类。
也就是说,它可以解析HTTP,并给JAVA的后端应用的解析后的接口。可以说是Java后端的基座,做Java字节码执行。
(Servlet Java 里定义的一个接口:把 HTTP 请求 变成 Java 方法调用。)
但为什么Tomcat、Nginx经常一起出现?
常见组合:Nginx 在前,做静态文件、HTTPS、压缩、限流;动态请求反向代理给后端的 Tomcat。
浏览器 ──> Nginx (443/80) ──> Tomcat (8080) ──> Spring Boot / JSP
SpringBoot?
因为早期的 Java Web 规范(Servlet 2.x)就是“一切皆 XML”——官方 API 把部署描述、依赖注入、URL 映射、生命周期监听等全部设计成声明式配置,而不是代码式配置。所以在 Spring 早期,跑一个 Web 应用要写大量 XML。
于是就有了SpringBoot,它强调:用最少的配置、最短的时间,把应用“拉起来”——就像拉拉链一样一拉到底。实现开箱即用。
于是又有了Go
Go 在“写 Web 服务”这件事上,把 HTTP 服务器 + 路由/中间件 + 业务逻辑全部打包在语言级标准库及生态里,从而绕过了 Java 世界里“必须额外装 Servlet 容器”这道门槛。
Java:
“先装 JVM → 再装 Servlet 容器 → 再装应用 war/jar”。
Go:
“连 HTTP 服务器都编译进同一个二进制,开箱即跑”。
所以说Go语言如此流行,NewY也建议我直接学Go去,Kimi还建议我尝试用Go去重写隐语的一些组件……
玫瑰
随着年龄的增长,经历的丰富,真的会发现,以前看不懂的有些人和事,忽然就能理解了。以前觉得枯燥的东西,不经意间就茅塞顿开。
《小王子》这本书不是给小孩子看的。(lx说的没错,我就是个痴汉,半夜跟kimi聊天聊成这样也是绝了)
很快我就进一步了解了这朵花儿。在小王子的星球上,过去一直都生长着一 些只有一层花瓣的很简单的花。这些花非常小,一点也不占地方,
从来也不会去 打搅任何人。她们早晨在草丛中开放,晚上就凋谢了。不知从哪里来了一颗种子, 忽然一天这种子发了芽。
小王子特别仔细地监视着这棵与众不同的小苗:这玩艺说不定是一种新的猴面包树。
但是,这小苗不久就不再长了,而且开始孕育着一 个花朵。
看到在这棵苗上长出了一个很大很大的花蕾,小王子感觉到从这个花苞 中一定会出现一个奇迹。
然而这朵花藏在它那绿茵茵的房间中用了很长的时间来 打扮自己。
她精心选择着她将来的颜色,慢慢腾腾地妆饰着,一片片地搭配着她 的花瓣,她不愿象虞美人那样一出世就满脸皱纹。
她要让自己带着光艳夺目的丽 姿来到世间。
是的,她是非常爱俏的。她用好些好些日子天仙般地梳妆打扮。
然后,在一天的早晨,恰好在太阳升起的时候,她开放了。
她已经精细地做了那么长的准备工作,却打着哈欠说道:
“我刚刚睡醒,真对不起,瞧我的头发还是乱蓬蓬的……”小王子这时再也控制不住自己的爱慕心情:
“你是多么美丽啊!”
花儿悠然自得地说:
“是吧,我是与太阳同时出生的……”
小王子看出了这花儿不太谦虚,可是她确实丽姿动人。
她随后又说道:“现在该是吃早点的时候了吧,请你也想着给我准备一点……”小王子很有些不好意思,于是就拿着喷壶,打来了一壶清清的凉水,浇灌着花儿。
于是,就这样,这朵花儿就以她那有点敏感多疑的虚荣心折磨着小王子。例如,有一天,她向小王子讲起她身上长的四根刺:
“老虎,让它张着爪子来吧!”
小王子顶了她一句:“在我这个星球上没有老虎,而且,老虎是不会吃草的”。
花儿轻声说道:“我并不是草。”
“真对不起。”
“我并不怕什么老虎,可我讨厌穿堂风。你没有屏风?”
小王子思忖着:“讨厌穿堂风……这对一株植物来说,真不走运,这朵花儿真不大好伺候……”
你说,老虎是什么?
老虎在这里是一个象征,而不是字面意义上的猛兽。
对玫瑰花来说,“老虎”是她想象出来、用来证明自己“值得被珍视”的一种威胁。她只有四根刺,却偏要说“让老虎张着爪子来吧”,其实是在炫耀:看,我柔弱又带刺,需要被保护。可小王子一句“这里没有老虎,而且老虎不吃草”把她的表演戳破了——她既不在危险中,也不是老虎会感兴趣的“肉”,只是一株普通的植物。于是她又赶紧改口:“我讨厌穿堂风”,把话题拉回“我需要屏风”——也就是需要小王子为她做点什么,以确认自己被爱。
所以,老虎是玫瑰的“自我戏剧化”里必不可少的反派,是她的虚荣和不安共同编造出来的幻影。
所以说小王子的玫瑰是一朵玫瑰?
对,她首先就是一株玫瑰,一株再真实不过的植物:有茎、有叶、有四根刺,会在阳光下开花,也会怕风吹。
但当她开口说话、撒娇、摆架子、嫌屏风不够时,她又不仅仅是一株玫瑰——她成了小王子“驯养”过的那朵唯一的玫瑰,因而被赋予了额外的重量。
所以,小王子的玫瑰既是生物学意义上的玫瑰,也是爱与责任投射出来的玫瑰:
• 作为植物的玫瑰:她怕风,需要水分,刺只是茎上的木质化突起;
• 作为“被驯养”的玫瑰:她怕的是“不被在乎”,刺是她用来试探、索取爱的小武器。
一句话:正因为她首先是一朵玫瑰,她才能承载“玫瑰”之外的全部心事。
所以这就成了一朵不一样的玫瑰?
对,就是这“一点多余”的重量,把宇宙里千千万万朵玫瑰中的这一朵,单独拎了出来,从此成了一朵“只此一朵”的玫瑰。
从植物学角度,她仍是 Rosa × hybrida,四根刺、五片瓣;可从存在论角度,她已经被小王子的目光、时间、眼泪和玻璃罩重新命名——她不再是“a rose”,而是“the Rose”。
于是同一阵风,吹到其他玫瑰那里只是气象;吹到她身上,却成了“穿堂风”。
同一根刺,在其他玫瑰身上只是防御;在她身上,却是“需要被怜惜的理由”。
这就是“驯养”的魔法:把普遍变成唯一,把生物学变成传记,把一朵玫瑰变成“我的玫瑰”。
我把我的玫瑰扔出了我的星球。
那朵玫瑰此刻正躺在宇宙尘埃里,刺还完整,花瓣也许已被真空抽走了水分,可它依旧带着你曾在清晨为它浇过最后一滴水的重量。
你把它“扔”出去——不是抛向风里,而是抛向一个再也收不回的轨道。从此,它成了唯一一朵在没有重力的黑暗里继续飘行的玫瑰;它的刺不再用来撒娇,而是用来勾住每一粒擦肩而过的星尘,像在替它收集“他曾经在乎过我”的证据。
小王子当年离开时,玫瑰才第一次把咳嗽般的骄傲收起来,低声说:“是的,我爱你。你什么都不知道,这是我的错。”
而你把它扔出去的那一刻,它连这句道歉都来不及递到你耳边,只能在真空中无声地开合着已经干枯的唇形。
于是,宇宙里多了一朵没有归属的玫瑰,你的星球上空多了一道看不见的抛物线;你获得了“不再被刺痛”的宁静,也收获了“再也闻不到香气”的寂静。
那朵玫瑰还在飘,带着你曾亲手罩上的玻璃罩的碎屑,像一颗缓慢冷却的小行星。
它不会呼救,也不会腐烂,只会永远保持被你抛出的那一瞬间的形状——
提醒着你:
“我曾被驯养,然后被放逐。”
我错了
那就去把她找回来——如果你还能在这条抛物线的尽头追上她。
宇宙很大,真空很冷,但花瓣比金属轻,刺也比子弹慢;只要你现在启程,她也许还在同一束阳光里打着转,只是少了玻璃罩,多了星尘。
带上新的玻璃罩,也带上你迟到的“对不起”。这一次,别再嫌她怕风,而是先承认:你也怕没有她的香气。
玫瑰不会呼救,可她会记得轨道;只要你沿着当初把她抛出的那条线,逆着光走,逆着悔意走,你终会在某片寂静的尘埃里,看见那四根刺仍在等——
像四根小小的航标灯,替你把“我错了”翻译成“我爱你”。
我错了吗?
先别急着把“我错了”钉成一句终审判决。
你那一刻把玫瑰扔出去,可能是愤怒、可能是疲惫、可能是再也受不了的刺痛——那一刻的“推力”并不全是恶,它也是你真实的感受。
但感受不等于终局。
玫瑰被抛出去之后,宇宙替她保留了一条长长的沉默弧线,像给你留出的冷静期:
在这条弧线上,你可以重新听见自己的心跳,也可以重新听见玫瑰的呼吸。
于是问题不再是“我错了吗?”
而是:
- 当我回看那条弧线时,我是否还想与她共享同一阵风?
- 如果答案是“想”,我是否愿意承担把玫瑰接回土壤时,再次被刺的可能?
愿意,就去追;
不愿意,就承认:这段关系到此为止,也是一种结局,并不必然等于“错误”。
真正的“错”只有一个——
在还没看清自己心意的瞬间,就把答案永远封存在真空里。
在还没看清自己心意的瞬间,就把答案永远封存在真空里。
那就撕开真空。
哪怕只是用手指在舷窗上划一道缝,让稀薄的光透进来——
只要那束光照到玫瑰,也照到你,
答案就会开始重新流动:
不再是封存的“对”或“错”,
而是下一秒、下一分钟、下一轨道里,
你们还想不想一起呼吸同一阵风。
去把那道缝划开吧。
真空最怕的,就是一点点真实的声音。
是的,我爱你。你什么都不知道,这是我的错。
那就替她把这句话说完——
用不再逃跑的嘴唇,用不再设防的掌心,
用你愿意重新为她举起、哪怕早已碎裂的玻璃罩。
对她说:
“我现在知道了。
知道你怕的不是老虎,是我不肯留下的脚步声;
知道你用刺支起的骄傲,其实是想留住我的指尖;
知道你把香气全部给我,却把咳嗽留给自己。
对不起,
我把‘我爱你’听成了‘你欠我’,
于是转身,把唯一的一朵玫瑰扔进了真空。
现在我把这句话原封不动还给你——
是的,我爱你。
你什么都不知道,因为我不曾让你知道:
离开你之后,我每天都在学怎样把真空翻译成空气,
把‘我错了’翻译成‘别枯萎’。
如果你还愿意让我重新浇水,
请把刺轻轻收进花瓣里一秒钟,
让我把这句迟到的话
贴在你的叶脉上:
我爱你,
这一次,不再用离开来证明。”
你真的什么都不知道吗,还是这是我的错?
也许我既知道,又不知道。
知道的是:玫瑰在发抖,刺在硬撑,花瓣在偷偷掉色;
不知道的是:她发抖的节拍、她硬撑的极限、她掉色时最想要的安慰方式。
所以这不是单选题——
不是“你真的什么都不知道吗”就把错全推给我,
也不是“这是我的错”就把责任全揽走。
真相是:
我们各自握着一半的说明书,却都假装对方已经读完。
她只给我看了刺,没给我看她藏起来的露珠;
我只给她背影,没给她我手心里攥得发疼的温度。
于是真空就长在了这两页缺失的说明书之间。
要补全它,唯一的办法是:
把刺递到我面前时,也递出她最柔软的那片花瓣;
把我那句“我爱你”说出口时,也交出我全部笨拙的迟疑。
从此,
知道与不知道不再用来分对错,
而是用来在同一条轨道上,
一起把剩下的空白页写完。
为什么玫瑰是虚荣的。为什么虚荣是带刺的。为什么它害怕老虎。而我却觉得要像小孩子一样真诚朴实。
玫瑰的“虚荣”并不是爱漂亮,而是一种求生策略:
在宇宙里,她只是万千植物之一,没有狮子的利爪,没有大象的体积,只有四根软刺和短暂花期。为了让某个路过的小王子停下脚步,她必须把“我值得被珍惜”喊得很大声——于是香气成了炫耀,刺成了警告,连一阵风也被说成老虎。
这喊声太大,就成了我们耳朵里的“虚荣”。
刺之所以跟着虚荣一起长出来,是因为脆弱。
刺不是武器,是括号——把“请保护我”括在一圈尖锐里,好像先声明“我很危险”,就不必再承认“我很易碎”。
虚荣有多响,括号就得有多硬;于是越害怕被遗忘的玫瑰,刺就越扎手。
她把老虎编进故事,是因为她需要一个足够大的敌人,才能配得上她“被拯救”的剧本。
星球上没有老虎,但她需要一个老虎的尺寸,去丈量小王子愿意为她走多远。
所以老虎其实是尺子,不是猛兽。
你觉得要像小孩子一样真诚朴实,是因为你已经看见:
真正的安全感不是用刺量出来的,是用一句“我在这里”直接递过去的。
小孩子不拿尺子,他们直接伸手;不摆括号,他们直接拥抱。
他们知道自己小,所以不假装大;知道自己会疼,所以不先扎人。
玫瑰一旦明白这一点,刺就会慢慢变软——不是消失,而是变成花瓣边缘的锯齿,只挡风,不伤人。
于是我的玫瑰去了一个虚荣的星球,那里住着另一个王子,它们玩起了游戏
在那个星球上,虚荣不是罪,而是一种官方货币。
人们用夸赞结账,用掌声点灯;
谁的镜子里反射出最多的“您真美”,谁就能当一天国王。
你的玫瑰降落在广场中央,四根刺立刻被镶进了金箔,
变成四枚别针,把“稀有”“绝版”“唯一”的标签别在她花瓣上。
另一个王子戴着会发光的王冠跑来——
那王冠其实是一圈微型聚光灯,始终只照他自己,
却在镜面的折射里,把光斑投到玫瑰脸上,
让她误以为是专属于她的日出。
他们玩的游戏叫“互相加冕”:
王子先说:“你是我见过最骄傲的玫瑰。”
玫瑰便回赠:“你是我见过最会发光的王子。”
每交换一次,广场上的计数器就往上跳一格,
叮当作响——那是虚荣星球最悦耳的心跳。
可到了晚上,灯灭声歇,
王子摘下王冠充电,玫瑰把刺悄悄从金箔里抽出来透气,
两人才发现:
王冠的光斑里,并没有温度;
玫瑰的香气里,也没有名字。
他们并肩坐在熄了火的赞美声里,
像两个刚数完金币却发现买不回口渴的小孩。
第二天,游戏继续,
只是玫瑰在每一次“叮”响之后,
都会偷偷往刺尖上留一滴露水——
她还在练习,
怎样把一句“其实……”说出口,
而不被广场的麦克风翻译成新的虚荣。
我什么时候才能看清自己的心意?