<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>微服务 - 标签 - 研发日志 · R&amp;D Log</title><link>https://rd163.visword.com/tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/</link><description>微服务 - 标签 - 研发日志 · R&amp;D Log</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>whutluohui@gmail.com (小智晖)</managingEditor><webMaster>whutluohui@gmail.com (小智晖)</webMaster><copyright>本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。</copyright><lastBuildDate>Sun, 01 Jun 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://rd163.visword.com/tags/%E5%BE%AE%E6%9C%8D%E5%8A%A1/" rel="self" type="application/rss+xml"/><item><title>trpc微服务寻址方案设计</title><link>https://rd163.visword.com/posts/trpc-service-addressing-scheme-design/</link><pubDate>Sun, 01 Jun 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/trpc-service-addressing-scheme-design/</guid><description><![CDATA[<h2 id="服务命名" class="headerLink">
    <a href="#%e6%9c%8d%e5%8a%a1%e5%91%bd%e5%90%8d" class="header-mark"></a>服务命名</h2><p>tRPC 在服务命名上定义了以下 3 个维度信息：</p>
<ul>
<li><strong>app 名（应用名）</strong>：表示某个业务系统的名称，用于标识某个业务下不同服务模块的一个集合。</li>
<li><strong>server 名（模块名）</strong>：表示具体服务模块的名称，一般也称为模块的进程名称。</li>
<li><strong>service 名</strong>：表示具体服务提供者的名称，一般使用 proto 文件定义的 Service 名称。</li>
</ul>
<p>其中 <code>app.server</code> 的组合在全局上要具备唯一性。</p>]]></description></item><item><title>Golang web框架</title><link>https://rd163.visword.com/posts/golang-web-framework/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/golang-web-framework/</guid><description><![CDATA[<h2 id="fiber" class="headerLink">
    <a href="#fiber" class="header-mark"></a>Fiber</h2><ul>
<li><a href="https://github.com/gofiber/fiber" target="_blank" rel="noopener noreferrer">Fiber</a>:受 Express.js 启发的 Go Web 框架，底层基于 fasthttp，主打零内存分配与高性能。</li>
</ul>
<p>基于 Fiber 的开源项目:</p>
<ul>
<li><a href="https://github.com/Finb/bark-server" target="_blank" rel="noopener noreferrer">bark-server</a>:iOS 推送通知服务 Bark 的后端。</li>
</ul>
<h2 id="macaron" class="headerLink">
    <a href="#macaron" class="header-mark"></a>Macaron</h2><ul>
<li><a href="https://github.com/go-macaron/macaron" target="_blank" rel="noopener noreferrer">Macaron</a>:高生产力、模块化的 Go Web 框架。目前已进入维护模式，不再新增功能，官方推荐其后继者 <a href="https://github.com/flamego/flamego" target="_blank" rel="noopener noreferrer">Flamego</a>。</li>
</ul>
<h2 id="beego" class="headerLink">
    <a href="#beego" class="header-mark"></a>Beego</h2><ul>
<li><a href="https://github.com/beego/beego" target="_blank" rel="noopener noreferrer">Beego</a>:老牌高性能 Go Web 框架，提供 ORM、缓存、日志、配置、任务等一整套模块。注：原作者仓库 <code>astaxie/beego</code> 已迁移至 <code>beego/beego</code> 组织，请使用新地址。</li>
</ul>
<h2 id="gin" class="headerLink">
    <a href="#gin" class="header-mark"></a>Gin</h2><ul>
<li><a href="https://github.com/gin-gonic/gin" target="_blank" rel="noopener noreferrer">Gin</a>:使用最广泛的 Go Web 框架，采用 httprouter 改造的路由，性能高、API 简洁，中间件生态丰富。</li>
</ul>
<h2 id="echo" class="headerLink">
    <a href="#echo" class="header-mark"></a>Echo</h2><ul>
<li><a href="https://github.com/labstack/echo" target="_blank" rel="noopener noreferrer">Echo</a>:高性能、极简的 Go Web 框架，自动 TLS、HTTP/2、可扩展中间件支持完善。</li>
</ul>
<h2 id="chi" class="headerLink">
    <a href="#chi" class="header-mark"></a>Chi</h2><ul>
<li><a href="https://github.com/go-chi/chi" target="_blank" rel="noopener noreferrer">chi</a>:轻量、兼容 <code>net/http</code> 的路由库，API 与标准库无缝衔接，适合构建可组合的 HTTP 服务。</li>
</ul>
<h2 id="gorilla" class="headerLink">
    <a href="#gorilla" class="header-mark"></a>Gorilla</h2><ul>
<li><a href="https://github.com/gorilla/mux" target="_blank" rel="noopener noreferrer">gorilla/mux</a>:强大的 HTTP 路由与请求匹配器，功能丰富。Gorilla 工具集曾在 2022 年底被归档，后由新的维护者团队接管并恢复维护。</li>
<li><a href="https://github.com/gorilla/websocket" target="_blank" rel="noopener noreferrer">gorilla/websocket</a>:Go 社区应用最广泛的 WebSocket 库。</li>
</ul>
<h2 id="fasthttp" class="headerLink">
    <a href="#fasthttp" class="header-mark"></a>fasthttp</h2><ul>
<li><a href="https://github.com/valyala/fasthttp" target="_blank" rel="noopener noreferrer">fasthttp</a>:为极端性能优化的 HTTP 实现，吞吐量与内存占用均显著优于标准库 <code>net/http</code>,但 API 与 <code>net/http</code> 不兼容。</li>
</ul>
<h2 id="httprouter" class="headerLink">
    <a href="#httprouter" class="header-mark"></a>httprouter</h2><ul>
<li><a href="https://github.com/julienschmidt/httprouter" target="_blank" rel="noopener noreferrer">httprouter</a>:基于 radix tree 的高性能路由，是众多 Go Web 框架（含 Gin）的底层路由原型。</li>
</ul>
<h2 id="hertz" class="headerLink">
    <a href="#hertz" class="header-mark"></a>Hertz</h2><p>Hertz(发音 [həːts],赫兹)是字节跳动开源的 Golang 微服务 HTTP 框架，由 <a href="https://github.com/cloudwego" target="_blank" rel="noopener noreferrer">CloudWeGo</a> 社区维护。它最初 fork 自 fasthttp，在设计上参考了 Gin、Echo 等开源框架的优势，并结合字节跳动内部对高性能与可扩展性的诉求进行了重构与演进。其默认网络库使用 CloudWeGo 自研的 <a href="https://github.com/cloudwego/netpoll" target="_blank" rel="noopener noreferrer">Netpoll</a>(基于 epoll),并保留了切换至 Go 标准网络库的能力，具有高易用性、高性能、高扩展性等特点，目前在字节跳动内部已大规模使用。</p>]]></description></item><item><title>Golang 服务相关的库</title><link>https://rd163.visword.com/posts/golang-service-libs/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/golang-service-libs/</guid><description><![CDATA[<p>在构建后端服务时，Go 生态提供了从轻量 Web 框架到完整微服务框架的多层选择。相比单纯的路由库(如 <code>chi</code>、<code>gorilla/mux</code>)或高性能 HTTP 库(如 <code>fasthttp</code>),「服务级」框架通常还承担了 RPC 通信、服务治理、代码生成、配置管理等工程化职责。本文集中梳理几款在生产环境广泛使用的 Go 服务端框架与工具，便于在选型时横向对照。</p>]]></description></item><item><title>K8s 服务治理</title><link>https://rd163.visword.com/posts/k8s-service-governance/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-service-governance/</guid><description>&lt;p>微服务架构将单体应用拆分为众多独立部署的服务，服务间的依赖与通信变得极其复杂。如何对这些分布式服务进行&lt;strong>注册发现、流量调度、故障容错、统一配置和可观测&lt;/strong>,就是「服务治理（Service Governance）」要解决的核心问题。在 Kubernetes 已成为事实标准的今天，服务治理方案大致沿着「SDK/胖客户端库」到「Service Mesh 服务网格」两条路线演进。&lt;/p></description></item><item><title>北极星（Polaris）</title><link>https://rd163.visword.com/posts/tencent-polaris/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/tencent-polaris/</guid><description>&lt;p>在微服务与分布式架构里，服务实例动态扩缩容、跨语言调用、跨环境互通是常态，随之而来的服务注册发现、流量控制、故障容错、配置下发等问题都需要一个统一的治理面来承载。北极星（Polaris，项目代号 PolarisMesh）正是腾讯针对这一诉求开源的服务发现与治理平台，在腾讯内部已经支撑了百万级服务注册和十万亿级日接口调用，通用性与稳定性经过大规模验证。&lt;/p></description></item><item><title>互联网公司经典技术架构</title><link>https://rd163.visword.com/posts/classic-technical-architecture/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/classic-technical-architecture/</guid><description>&lt;p>互联网公司过去二十余年的技术演进，几乎浓缩了现代分布式系统的所有关键议题。从早期单机支撑百万 PV 的 LAMP 架构，到今日以 Kubernetes 为基础的云原生体系，每一次范式迁移的背后，都是业务规模、团队组织与基础设施能力三者共同作用的结果。本文按时间线梳理这套演进路径，并引用几家代表性公司的公开资料作为佐证。&lt;/p></description></item></channel></rss>