|

Aimee

Write the Code. Change the World.

623
发表于 · 6 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

微服务与服务拆分:何时拆、怎么拆 微服务这几年火得不行,几乎成了"先进架构"的代名词。但真正难的从来不是"会不会用微服务框架",而是两个更朴素的问题:到底要不要拆?该怎么拆? 这两个问题答错了,你不会得到一套优雅的微服务,而是得到一个"分布

622
发表于 · 4 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

异步与事件驱动架构 —— 把系统的协作方式从"打电话"改成"发消息" 同步调用像打电话:你拨过去,得等对方接、等他说完、等他挂,这期间你干不了别的;只要对方占线或不接,你就一直卡着。异步/事件驱动像发消息:发出去就走,对方什么时候看、什么时

622
发表于 · 2 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

用户其实不太关心你的架构画得多漂亮、用了多时髦的技术栈,他只关心一件事:我点进去,能不能用? 一个再优雅的系统,一年崩个十几次、每次半小时,用户照样跑光。所谓高可用(High Availability),说白了就是想尽办法让系统少宕机,宕了

618
发表于 · 4 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

业务一涨,单机迟早到顶——CPU 跑满、内存吃光、连接数撑爆。这时候有两条路:要么把这台机器换成更猛的,要么再搬几台一样的机器上来一起扛。前者总有物理上限,后者理论上可以一直加下去。 好架构的标志之一,就是"加机器就能线性扛更多"——这就是

617
发表于 · 8 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

"慢了?加个 Redis"——单层缓存确实能扛很久。但流量再往上走,你会发现 Redis 也不是万能的:它也有带宽和连接上限,一个超级热点 key 能把某个 Redis 节点单独打爆,每次访问还都要走一趟网络。这时候问题就从"用不用缓存"变

616
发表于 · 2 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

大促零点一到,流量瞬间翻几十倍;或者某个依赖的下游悄悄挂了,请求一个个堆在那儿傻等——这两种情况,都能让一个平时跑得好好的系统,在几分钟内被压垮,甚至连环雪崩、整片崩掉。这块我自己刚补的时候也绕了好几遍:三个词听着像近义词,真分起来又总搞混

616
发表于 · 3 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

"我们要不要上微服务?""这个得做成分布式的吧?"——聊到架构,这类话满天飞,但架构设计到底在设计什么? 这个问题反而很少被说清。至少我刚开始补这块时是一头雾水的:总以为架构就是画框图、堆时髦技术,后来才慢慢发现不是这么回事。 这是《服务端

615
发表于 · 4 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

你写的那个服务,一个月花公司多少钱?八成研发答不上来 —— 平时只盯功能和性能,账单从没看过。但"会算成本"恰恰是从「只管把功能跑通」到「能扛一摊事」的分水岭:能上线、能稳、还得算得清这摊东西值不值这个钱。 说来有点惭愧,成本这块我也是开始

615
发表于 · 5 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

服务半夜报警、接口忽然变慢、用户说"点了没反应"——登上机器一脸懵:日志刷得飞快却不知道看哪条,问题到底出在哪个服务、哪一段、哪一行,全靠猜。 靠手动打几行日志、登上机器一行行翻去抓瞎,和有一套可观测性(Observability)体系按图

610
发表于 · 3 次围观 · 活捉 0 条 · 0 点赞 · 0 收藏
分享镜

接口能返回数据、调用方能拿来用,需求就算做完了?可一旦上量,问题全冒出来:状态全返 200,调用方只能扒 body 里的 code 判断成败;网络一抖重试,订单建了两笔、款扣了两次;列表越翻越慢;报错只甩一句"系统异常",对方对着日志干瞪眼

回到顶部