<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Architecture on Go Micro</title><link>https://go-micro.dev/tags/architecture.html</link><description>Recent content in Architecture on Go Micro</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 29 Jul 2026 08:42:34 +0100</lastBuildDate><atom:link href="https://go-micro.dev/tags/architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>An Agent Is a Service: Where Agent Frameworks Are Going</title><link>https://go-micro.dev/blog/2026/06/30/an-agent-is-a-service-where-agent-frameworks-are-going.html</link><pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/06/30/an-agent-is-a-service-where-agent-frameworks-are-going.html</guid><description>&lt;p&gt;There are now a lot of ways to build an agent. LangChain and LangGraph, LlamaIndex, CrewAI, Microsoft&amp;rsquo;s AutoGen, Google&amp;rsquo;s ADK, the model labs&amp;rsquo; own SDKs, and — most recently in our own backyard — &lt;a href="https://github.com/trpc-group/trpc-agent-go"&gt;tRPC-Agent-Go&lt;/a&gt; from Tencent. They are not all solving the same problem, and the places they differ tell you a lot about where this is heading.&lt;/p&gt;
&lt;p&gt;This is a field guide to that landscape, and an honest account of where Go Micro sits in it.&lt;/p&gt;</description></item><item><title>Go Micro is an Agent Harness</title><link>https://go-micro.dev/blog/2026/06/24/go-micro-is-an-agent-harness.html</link><pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/06/24/go-micro-is-an-agent-harness.html</guid><description>&lt;p&gt;The first wave of agent frameworks solved one problem: put a model in a loop with some tools. That&amp;rsquo;s the easy part now. The harder problem — the one that decides whether an agent makes it past a demo — is &lt;strong&gt;operating&lt;/strong&gt; that loop.&lt;/p&gt;
&lt;p&gt;Operating a loop means connecting it to real tools, scoping what it can touch, keeping state when the process restarts, routing work to specialists, recovering from provider failures, seeing what it did, and letting other agents call it. That&amp;rsquo;s harness work, and it&amp;rsquo;s most of the actual job.&lt;/p&gt;</description></item><item><title>The Evolution of Microservices</title><link>https://go-micro.dev/blog/2026/06/08/the-evolution-of-microservices.html</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/06/08/the-evolution-of-microservices.html</guid><description>&lt;p&gt;Every era of distributed systems has solved the problem the previous era created. Microservices solved the coordination cost of the monolith and created a distributed-systems problem. Containers and orchestration solved the deployment problem and created an operational one. The service mesh solved the cross-cutting problem and pushed complexity into the platform. Each step was a response to a concrete engineering constraint, not a trend.&lt;/p&gt;
&lt;p&gt;Follow that chain to the end, and the interface the industry converged on — a named, typed, discoverable, independently deployable unit — turns out to be almost exactly the interface a language model needs to call a tool. That convergence is the technical reason agents are the next era.&lt;/p&gt;</description></item><item><title>Agents for Services: A New Model for Microservices</title><link>https://go-micro.dev/blog/2026/06/04/agents-for-services-a-new-model-for-microservices.html</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/06/04/agents-for-services-a-new-model-for-microservices.html</guid><description>&lt;p&gt;Microservices solved monolithic code. Split it into small, independent units. But we centralised the intelligence — one agent, one brain, managing everything. That&amp;rsquo;s just a different kind of monolith.&lt;/p&gt;
&lt;p&gt;What if every service had its own agent? Not embedded in the service. Created separately, assigned to manage it. The service is the capability. The agent is the intelligence.&lt;/p&gt;
&lt;h2 id="the-problem-with-one-agent"&gt;The Problem with One Agent&lt;a class="td-heading-self-link" href="#the-problem-with-one-agent" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Right now, &lt;code&gt;micro chat&lt;/code&gt; is a single agent. It discovers every service in the registry, sees every endpoint, and orchestrates across all of them. You ask it a question and it figures out which service to call.&lt;/p&gt;</description></item><item><title>Tools as Services: Why Go Micro Was Always Ready for AI</title><link>https://go-micro.dev/blog/2026/05/30/tools-as-services-why-go-micro-was-always-ready-for-ai.html</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/05/30/tools-as-services-why-go-micro-was-always-ready-for-ai.html</guid><description>&lt;p&gt;When people see &lt;code&gt;micro chat&lt;/code&gt; or the MCP gateway, they assume we built something new. We didn&amp;rsquo;t. We exposed something that was already there.&lt;/p&gt;
&lt;p&gt;Go Micro has always treated services as self-describing, addressable units. Every service registers its name, endpoints, and request types with the registry. Every endpoint is callable through a standardised path. The only thing that changed is &lt;em&gt;who&amp;rsquo;s calling&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id="the-pattern"&gt;The Pattern&lt;a class="td-heading-self-link" href="#the-pattern" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Go Micro was built on one idea: &lt;strong&gt;a service should be accessible the same way regardless of how you access it&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>