<?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/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/</link>
        <description>Recent content in 架构设计 on 文艺技术笔记</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <copyright>文艺技术笔记 | 软件工程师文艺</copyright>
        <lastBuildDate>Fri, 05 Jun 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://wenyiblog.top/tags/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>系统架构详解：四层部署模式与关键目录</title>
        <link>https://wenyiblog.top/2026/06/tc-3-architecture/</link>
        <pubDate>Fri, 05 Jun 2026 10:00:00 +0800</pubDate>
        
        <guid>https://wenyiblog.top/2026/06/tc-3-architecture/</guid>
        <description>&lt;p&gt;Teamcenter 采用多层架构，Client 端基于 Java，Server 端基于 C（ITK）。理解其架构是运维和二次开发的前提。&lt;/p&gt;
&lt;h2 id=&#34;teamcenter-四层架构&#34;&gt;&lt;a href=&#34;#teamcenter-%e5%9b%9b%e5%b1%82%e6%9e%b6%e6%9e%84&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;Teamcenter 四层架构
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;层级&lt;/th&gt;
&lt;th&gt;技术栈&lt;/th&gt;
&lt;th&gt;核心组件&lt;/th&gt;
&lt;th&gt;职责&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;客户端层（Client Tier）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Java&lt;/td&gt;
&lt;td&gt;Rich Client (RAC), Active Workspace, Mobility 移动端, NX 集成客户端&lt;/td&gt;
&lt;td&gt;用户交互界面&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;应用层（Application Tier）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;J2EE&lt;/td&gt;
&lt;td&gt;TC Server, FMS/FSC 文件服务, Pool 连接池, Web Services&lt;/td&gt;
&lt;td&gt;业务逻辑处理、会话管理&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;服务层（Server Tier）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;C++ ITK&lt;/td&gt;
&lt;td&gt;TC Server 核心服务, ITK Handler, Workflow Engine, SOA Services&lt;/td&gt;
&lt;td&gt;核心数据处理、工作流引擎&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;数据层（Data Tier）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;DB + File&lt;/td&gt;
&lt;td&gt;Oracle/SQL Server/PostgreSQL, Volume（文件卷）&lt;/td&gt;
&lt;td&gt;持久化存储&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;部署模式对比&#34;&gt;&lt;a href=&#34;#%e9%83%a8%e7%bd%b2%e6%a8%a1%e5%bc%8f%e5%af%b9%e6%af%94&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;部署模式对比
&lt;/h2&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;模式&lt;/th&gt;
&lt;th&gt;架构&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;th&gt;适用场景&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;二层部署（2-Tier）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Client → DB&lt;/td&gt;
&lt;td&gt;客户端直接连接数据库，无中间层&lt;/td&gt;
&lt;td&gt;小规模测试、个人学习&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;三层部署（3-Tier）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Client → J2EE → DB&lt;/td&gt;
&lt;td&gt;客户端通过 J2EE 应用服务器连接数据库&lt;/td&gt;
&lt;td&gt;中小型团队、Web 访问&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;四层部署（4-Tier）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Client → J2EE → C++ Server → DB&lt;/td&gt;
&lt;td&gt;完整 C/S 架构，TCFS 文件系统服务管理文件卷&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;企业级生产环境&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;关键目录与文件服务&#34;&gt;&lt;a href=&#34;#%e5%85%b3%e9%94%ae%e7%9b%ae%e5%bd%95%e4%b8%8e%e6%96%87%e4%bb%b6%e6%9c%8d%e5%8a%a1&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;关键目录与文件服务
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;%TC_ROOT%&lt;/strong&gt; — Teamcenter 安装目录，包含 bin（可执行文件）、include（ITK 头文件）、lib（库文件）、sample（示例代码）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;%TC_DATA%&lt;/strong&gt; — Teamcenter 数据目录，包含站点配置、日志、本地库等&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Volume（文件卷）&lt;/strong&gt; — 存储实际文件数据（3D 模型、2D 图纸等），通过 FSC（File Server Component）/ FCC（File Client Component）管理&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ 企业生产环境强烈推荐使用 4-Tier 部署，保证系统的安全性和可扩展性。&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        <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>
