<?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://gaoboy.com/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/</link><description>Recent content in 微服务 on 静夜思己过 - 猿资猿味 - 高波的博客</description><generator>Hugo</generator><language>zh-cn</language><copyright>&lt;a rel="license noopener" href="https://beian.miit.gov.cn/" target="_blank">浙ICP备14043338号-2&lt;/a>~&lt;a rel="license noopener" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=33010802003111" target="_blank">浙公网安备 33010802003111号&lt;/a></copyright><lastBuildDate>Sat, 28 Aug 2021 11:31:25 +0800</lastBuildDate><atom:link href="https://gaoboy.com/categories/%E5%BE%AE%E6%9C%8D%E5%8A%A1/index.xml" rel="self" type="application/rss+xml"/><item><title>Nacos多配置文件加载刷新、共享配置</title><link>https://gaoboy.com/post/nacos-extension-config-and-refresh/</link><pubDate>Sat, 28 Aug 2021 11:31:25 +0800</pubDate><guid>https://gaoboy.com/post/nacos-extension-config-and-refresh/</guid><description/></item><item><title>微服务架构设计模式</title><link>https://gaoboy.com/post/microservices-design-pattern/</link><pubDate>Sun, 15 Dec 2019 10:28:45 +0800</pubDate><guid>https://gaoboy.com/post/microservices-design-pattern/</guid><description>&lt;h1 id="概述">概述&lt;/h1>
&lt;p>微服务能在企业中发挥积极作用。因此了解微服务架构（MSA）设计的一般目标或原则，以及一些微服务的设计模式，都是是很有意义的&lt;/p>
&lt;ul>
&lt;li>&lt;strong>降低成本&lt;/strong>：MSA 降低了 IT 服务的设计、实现和管理的总体成本&lt;/li>
&lt;li>&lt;strong>提高交付速度&lt;/strong>：MSA 能够提高服务的实现速度&lt;/li>
&lt;li>&lt;strong>增强健壮性&lt;/strong>：MSA 能够增强我们服务网络的健壮性&lt;/li>
&lt;li>&lt;strong>提供可视化支持&lt;/strong>：MSA 能够为服务和网络提供更好的可视化支持&lt;/li>
&lt;/ul>
&lt;h1 id="微服务架构的构建原则">微服务架构的构建原则&lt;/h1>
&lt;ul>
&lt;li>伸缩能力&lt;/li>
&lt;li>可用性&lt;/li>
&lt;li>健壮性&lt;/li>
&lt;li>弹性&lt;/li>
&lt;li>独立的匿名服务&lt;/li>
&lt;li>去中心化的治理&lt;/li>
&lt;li>故障隔离&lt;/li>
&lt;li>自动供给&lt;/li>
&lt;li>通过 DevOps 实现持续交付&lt;/li>
&lt;/ul>
&lt;p>在系统建设中，坚持上述原则会遭遇很多挑战和问题。这些问题在很多解决方案中都会出现。如果能够正确的使用合适的设计模式，就能够克服这些问题。微服务的设计模式可以分为五大类，每个大类中都包含一些设计模式&lt;/p></description></item><item><title>重构单体为微服务</title><link>https://gaoboy.com/post/refactoring-a-monolith-into-microservices/</link><pubDate>Thu, 22 Nov 2018 17:50:02 +0800</pubDate><guid>https://gaoboy.com/post/refactoring-a-monolith-into-microservices/</guid><description>&lt;p>©️&lt;a href="https://www.nginx.com/blog/refactoring-a-monolith-into-microservices/">Refactoring a Monolith into Microservices&lt;/a>&lt;/p>
&lt;h1 id="微服务重构概述">微服务重构概述&lt;/h1>
&lt;p>单体应用程序转换为微服务的过程是应用程序现代化的一种形式。这是几十年来开发人员一直在做的事情。因此，在将应用程序重构为微服务时，有一些想法是可以重用的。&lt;/p></description></item><item><title>选择微服务部署策略</title><link>https://gaoboy.com/post/deploying-microservices/</link><pubDate>Thu, 22 Nov 2018 17:45:58 +0800</pubDate><guid>https://gaoboy.com/post/deploying-microservices/</guid><description>&lt;p>©️&lt;a href="https://www.nginx.com/blog/deploying-microservices/">Choosing a Microservices Deployment Strategy&lt;/a>&lt;/p>
&lt;h1 id="动机">动机&lt;/h1>
&lt;p>部署单体应用程序意味着运行一个或多个相同副本的单个较大的应用程序。您通常会在每台服务器上配置 N 个服务器（物理或虚拟）并运行 M 个应用程序实例。单体应用程序的部署并不总是非常简单，但它比部署微服务应用程序要简单得多。&lt;/p></description></item><item><title>事件驱动数据管理</title><link>https://gaoboy.com/post/event-driven-data-management-microservices/</link><pubDate>Thu, 22 Nov 2018 17:34:35 +0800</pubDate><guid>https://gaoboy.com/post/event-driven-data-management-microservices/</guid><description>&lt;p>©️&lt;a href="https://www.nginx.com/blog/event-driven-data-management-microservices/">Event-Driven Data Management for Microservices&lt;/a>&lt;/p>
&lt;h1 id="微服务和分布式数据">微服务和分布式数据&lt;/h1>
&lt;p>管理问题&lt;/p>
&lt;p>单体应用程序通常具有一个单一的关系型数据库。使用关系型数据库的一个主要优点是您的应用程序可以使用 ACID 事务，这些事务提供了以下重要保障：&lt;/p></description></item><item><title>服务发现</title><link>https://gaoboy.com/post/service-discovery-in-a-microservices-architecture/</link><pubDate>Thu, 22 Nov 2018 17:05:59 +0800</pubDate><guid>https://gaoboy.com/post/service-discovery-in-a-microservices-architecture/</guid><description>&lt;p>©️&lt;a href="https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/">Service Discovery in a Microservices Architecture&lt;/a>&lt;/p>
&lt;h1 id="为何使用服务发现">为何使用服务发现&lt;/h1>
&lt;p>我们假设您正在编写某些代码，这些代码调用了有 REST API 或 Thrift API 的服务。为了发送一个请求，您的代码需要知道服务实例的网络位置（ IP 地址与端口）。在运行于物理硬件上的传统应用中，服务实例的网络位置是相对静态的。例如，您的代码可以从偶尔更新的配置文件中读取网络位置。&lt;/p></description></item><item><title>进程间通信</title><link>https://gaoboy.com/post/building-microservices-inter-process-communication/</link><pubDate>Thu, 22 Nov 2018 16:52:33 +0800</pubDate><guid>https://gaoboy.com/post/building-microservices-inter-process-communication/</guid><description>&lt;p>©️&lt;a href="https://www.nginx.com/blog/building-microservices-inter-process-communication/">Building Microservices: Inter-Process Communication in a Microservices Architecture&lt;/a>&lt;/p>
&lt;h1 id="简介">简介&lt;/h1>
&lt;p>在单体应用程序中，组件可通过语言级方法或者函数相互调用。相比之下，基于微服务的应用程序是一个运行在多台机器上的分布式系统。通常，每个服务实例都是一个进程。&lt;/p></description></item><item><title>使用 API 网关</title><link>https://gaoboy.com/post/building-microservices-using-an-api-gateway/</link><pubDate>Thu, 22 Nov 2018 16:46:47 +0800</pubDate><guid>https://gaoboy.com/post/building-microservices-using-an-api-gateway/</guid><description>&lt;p>©️&lt;a href="https://www.nginx.com/blog/building-microservices-using-an-api-gateway/">Building Microservices: Using an API Gateway&lt;/a>&lt;/p>
&lt;h1 id="简介">简介&lt;/h1>
&lt;p>我们假设您正在为一个购物应用开发一个原生移动客户端。您可能需要实现一个产品详细信息页面，用于展示给定商品的信息。&lt;/p>
&lt;p>例如，图 2-1 展示了在 Amazon 的 Android 移动应用中滚动产品信息时所看的内容。&lt;/p></description></item><item><title>微服务简介</title><link>https://gaoboy.com/post/introduction-to-microservices/</link><pubDate>Thu, 22 Nov 2018 16:34:27 +0800</pubDate><guid>https://gaoboy.com/post/introduction-to-microservices/</guid><description>&lt;p>©️&lt;a href="https://www.nginx.com/blog/introduction-to-microservices/">Introduction to Microservices&lt;/a>&lt;/p>
&lt;h1 id="构建单体应用">构建单体应用&lt;/h1>
&lt;p>我们假设，您开始开发一个打车应用，打算与 Uber 和 Hailo 竞争。经过初步交流和需求收集，您开始手动或者使用类似 Rails、 Spring Boot、 Play 或者 Maven 等平台来生成一个新项目。&lt;/p></description></item></channel></rss>