mirror of
https://github.com/zhwei820/learn.lianglianglee.com.git
synced 2025-11-16 22:23:45 +08:00
fix img
This commit is contained in:
@@ -259,14 +259,14 @@ function hide_canvas() {
|
||||
<p>假设我们要使用微服务构建一个电商平台,一般来说需要订单服务、商品服务、交易服务、会员服务、评论服务、库存服务等。</p>
|
||||
<p>移动互联网时代,我们的系统不仅会通过 Web 端提供服务,还有 App 端、小程序端等,那么不同客户端应该如何访问这些服务呢?</p>
|
||||
<p>如果在单体应用架构下,所有服务都来自一个应用工程,客户端通过向服务端发起网络调用来获取数据,通过 Nginx 等负载均衡策略将请求路由给 N 个相同的应用程序实例中的一个,然后应用程序处理业务逻辑,并将响应返回给客户端。</p>
|
||||
<p><img src="assets/Ciqc1F7DuLWALZMDAAB1i-97j1c184.png" alt="1.png" /></p>
|
||||
<p><img src="assets/Ciqc1F7DuLWALZMDAAB1i-97j1c184.png" alt="png" /></p>
|
||||
<p>在微服务架构下,每个服务都是独立部署,如果直接调用,系统设计可能是这样的:</p>
|
||||
<p><img src="assets/Ciqc1F7DuNqAJXtiAAC4PwBmfM0342.png" alt="2.png" /></p>
|
||||
<p><img src="assets/Ciqc1F7DuNqAJXtiAAC4PwBmfM0342.png" alt="png" /></p>
|
||||
<p>各个调用端单独去发起连接,会出现很多问题,比如不容易监控调用流量,出现问题不好确定来源,服务之间调用关系混乱等。</p>
|
||||
<h4>如何解决这个局面呢</h4>
|
||||
<p>针对这些问题,一个常用的解决方案是使用 API 服务网关。在微服务设计中,需要隔离内外部调用,统一进行系统鉴权、业务监控等,API 服务网关是一个非常合适的切入口。</p>
|
||||
<p>通过引入 API 网关这一角色,可以高效地实现微服务集群的输出,节约后端服务开发成本,减少上线风险,并为服务熔断、灰度发布、线上测试等提供解决方案。</p>
|
||||
<p><img src="assets/CgqCHl7DuPuAH-1AAAE28Z6XTRo611.png" alt="3.png" /></p>
|
||||
<p><img src="assets/CgqCHl7DuPuAH-1AAAE28Z6XTRo611.png" alt="png" /></p>
|
||||
<p>使用网关,可以优化微服务架构中系统过于分散的弊端,使得架构更加优雅,选择一个适合的 API 网关,可以有效地简化开发并提高运维与管理效率。</p>
|
||||
<h3>应用网关的优劣</h3>
|
||||
<p>API 网关在微服务架构中并不是一个必需项目,而是系统设计的一个解决方案,用来整合各个不同模块的微服务,统一协调服务。</p>
|
||||
|
||||
Reference in New Issue
Block a user