<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>微服务 on 文艺技术笔记</title>
        <link>https://wenyiblog.top/tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/</link>
        <description>Recent content in 微服务 on 文艺技术笔记</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <copyright>文艺技术笔记 | 软件工程师文艺</copyright>
        <lastBuildDate>Thu, 04 Jun 2026 20:00:00 +0800</lastBuildDate><atom:link href="https://wenyiblog.top/tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>K8s 云原生架构实战：从单体到微服务的演进</title>
        <link>https://wenyiblog.top/2026/06/k8s-cloud-native-migration/</link>
        <pubDate>Thu, 04 Jun 2026 20:00:00 +0800</pubDate>
        
        <guid>https://wenyiblog.top/2026/06/k8s-cloud-native-migration/</guid>
        <description>&lt;h2 id=&#34;为什么迁移到云原生&#34;&gt;&lt;a href=&#34;#%e4%b8%ba%e4%bb%80%e4%b9%88%e8%bf%81%e7%a7%bb%e5%88%b0%e4%ba%91%e5%8e%9f%e7%94%9f&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;为什么迁移到云原生？
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;弹性伸缩&lt;/strong&gt;：流量高峰自动扩容，闲时缩容省钱&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;故障隔离&lt;/strong&gt;：单个服务崩溃不影响全局&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;发布效率&lt;/strong&gt;：从手动部署到 GitOps，发布从小时级降到分钟级&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;架构全景&#34;&gt;&lt;a href=&#34;#%e6%9e%b6%e6%9e%84%e5%85%a8%e6%99%af&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;架构全景
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;┌─────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│              Ingress (Nginx)            │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├─────────────────────────────────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│  API Gateway → 服务网格 (Istio)         │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├────────┬────────┬────────┬──────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│ 用户服务 │ 订单服务 │ 支付服务 │ 消息服务      │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;├────────┴────────┴────────┴──────────────┤
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;│           持久层 (PostgreSQL + Redis)    │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;└─────────────────────────────────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;关键决策&#34;&gt;&lt;a href=&#34;#%e5%85%b3%e9%94%ae%e5%86%b3%e7%ad%96&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;关键决策
&lt;/h2&gt;&lt;h3 id=&#34;1-helm-vs-kustomize&#34;&gt;&lt;a href=&#34;#1-helm-vs-kustomize&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;1. Helm vs Kustomize
&lt;/h3&gt;&lt;p&gt;最终选了 Kustomize —— 轻量、无需额外学习 Helm 模板语法，K8s 1.14+ 原生支持。&lt;/p&gt;
&lt;h3 id=&#34;2-服务网格要不要上&#34;&gt;&lt;a href=&#34;#2-%e6%9c%8d%e5%8a%a1%e7%bd%91%e6%a0%bc%e8%a6%81%e4%b8%8d%e8%a6%81%e4%b8%8a&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;2. 服务网格要不要上？
&lt;/h3&gt;&lt;p&gt;初期没上 Istio，用 K8s Service + Ingress 足够。服务网格在微服务数量超过 20 个时才体现价值。&lt;/p&gt;
&lt;h3 id=&#34;3-可观测性三板斧&#34;&gt;&lt;a href=&#34;#3-%e5%8f%af%e8%a7%82%e6%b5%8b%e6%80%a7%e4%b8%89%e6%9d%bf%e6%96%a7&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;3. 可观测性三板斧
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;日志&lt;/strong&gt;：Loki + Promtail（比 ELK 轻量 10 倍）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;指标&lt;/strong&gt;：Prometheus + Grafana&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;追踪&lt;/strong&gt;：Jaeger（分布式链路追踪）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;踩坑&#34;&gt;&lt;a href=&#34;#%e8%b8%a9%e5%9d%91&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;踩坑
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;imagePullPolicy: IfNotPresent&lt;/code&gt; 没设，每次都拉镜像，慢得离谱&lt;/li&gt;
&lt;li&gt;资源限制没设，一个服务吃光节点内存&lt;/li&gt;
&lt;li&gt;Health Check 没配，滚动更新直接断流&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;📝 完整 YAML 配置清单和部署脚本已整理，后续开源。&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        
    </channel>
</rss>
