【完结13章】高性能多级网关与多级缓存架构落地实战

笑面虎
• 阅读 143

【完结13章】高性能多级网关与多级缓存架构落地实战 【完结13章】高性能多级网关与多级缓存架构落地实战

给大家分享一套网关课程——高性能多级网关与多级缓存架构落地实战,已完结13章,附源码+电子书。

多级网关与多级缓存架构是一种常用的系统架构设计模式,用于提高系统性能和可扩展性。下面详细介绍一下这两种架构。

多级网关架构(Multi-tier Gateway Architecture): 多级网关架构是指将系统划分为多个层次或级别的网关,每个网关层次负责执行特定的功能。每个网关层次都有其特定的职责,可以是协议转换、数据加工、请求分发等。不同的网关层次可以部署在不同的服务器上,通过网络连接起来。 多级网关架构的主要优点包括:

  1. 模块化和可扩展性:通过将系统划分为多个网关层次,可以方便地扩展和替换某个特定层次的功能模块,而无需影响整个系统。
  2. 高可用性:通过将不同层次的网关部署在不同的服务器上,可以提高系统的可用性和容错性。当某个网关层次发生故障时,其他层次可以继续工作。
  3. 安全性:通过在每个网关层次上实施相应的安全策略,可以提高系统的安全性和防护能力。不同层次的网关可以执行不同的安全检查和过滤操作。

多级缓存架构(Multi-level Cache Architecture): 多级缓存架构是指在系统中引入多个层次的缓存,用于提高系统的性能和响应速度。每个层次的缓存可以根据数据的使用频率和访问模式进行优化配置,以达到最佳的性能表现。 多级缓存架构的主要优点包括:

  1. 提高读取性能:通过在多个层次上缓存数据,可以大大提高读取数据的速度。近距离的缓存层次(如内存缓存)可以快速响应请求,而远距离的缓存层次(如磁盘缓存)可以提供更大的存储容量。
  2. 减轻后端负载:通过减少对后端数据源的直接访问,多级缓存可以降低后端系统的负载压力,提高系统的整体性能和可扩展性。
  3. 改善用户体验:多级缓存可以降低网络延迟和响应时间,提高用户访问网站或应用的体验。用户可以更快地获取到所需的数据。

在每个分组下分别生成一个业务API,两个API均设置为APP鉴权模式,假设两个API相关属性为:

API1: Method: GET Path: /business1 后端地址为:

http://backend1.alicloudapi.com:8080/business1 API2 Method: GET Path: /business2 后端地址为:

http://backend2.alicloudapi.com:8080/business2

创建路由插件,将路由插件绑定到分发API上。


parameters: target: "Query:target" routes:

  • name: backend1 condition: "$target = 'resource1'" backend: type: "HTTP" address: "17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com" path: "/business1"
  • name: backend2 condition: "$target = 'resource2'" backend: type: "HTTP" address: "c6e984b2dd784c0fb843f7c2a8878b15-cn-huhehaote-intranet.alicloudapi.com" path: "/business2" 这个路由组件的意思是,绑定了这个插件的API,收到请求的时候,判断请求中query参数target,如果target的值为resource1,就给17ff4c9189004a1d87b557606b767334-cn-huhehaote-intranet.alicloudapi.com发送一个path为/business1的HTTP请求,target值为resource2时情况类似。

线下会议详情弹窗对应的是offline_meeting-info.vue页面,我们先来看看模型层都定义了什么东西?

data: function() { return { visible: false, title: null, date: null, place: null, start: null, end: null, members: [], present: [], unpresent: [], status: null }; }, 会议概要信息是弹窗页面init()函数发出Ajax请求获取的,所以我们可以动手把这个init()给实现一下。 init: function(id, status) { let that = this; that.visible = true; that.$nextTick(() => { let data = { id: id, status: status }; that.$http('meeting/searchMeetingInfo', 'POST', data, true, function(resp) { that.title = resp.title; that.date = resp.date; that.place = resp.place; that.start = resp.start; that.end = resp.end; if (resp.status == 1) { that.status = '待审批'; } else if (resp.status == 3) { that.status = '未开始'; } else if (resp.status == 4) { that.status = '进行中'; } else if (resp.status == 5) { that.status = '已结束'; } if (resp.hasOwnProperty('members')) { that.members = JSON.parse(resp.members); } if (resp.hasOwnProperty('present')) { that.present = JSON.parse(resp.present); } if (resp.hasOwnProperty('unpresent')) { that.unpresent = JSON.parse(resp.unpresent); } }); }); }

我们首先看一下模型层定义的变量,除了有查询条件之外,还有与分页相关的变量。总体上来看,跟用户管理页面的模型层差不多。 data: function() { return { dataForm: { date: null, mold: '全部会议' }, dataList: [], pageIndex: 1, pageSize: 10, totalCount: 0, dataListLoading: false, addVisible: false, dataRule: {} }; },

接下来我们看看前端页面的表单控件是怎么定义的。当用户点击查询按钮的时候,触发点击事件对应的回调函数是searchHandle(),这个函数是我们一会儿要声明的。

查询 会议申请
点赞
收藏
评论区
推荐文章
基于Spring Cache实现Caffeine、jimDB多级缓存实战
在早期参与涅槃氛围标签中台项目中,前台要求接口性能999要求50ms以下,通过设计Caffeine、ehcache堆外缓存、jimDB三级缓存,利用内存、堆外、jimDB缓存不同的特性提升接口性能,内存缓存采用Caffeine缓存,利用WTinyLFU算法获得更高的内存命中率;同时利用堆外缓存降低内存缓存大小,减少GC频率,同时也减少了网络IO带来的性能消耗;利用JimDB提升接口高可用、高并发;后期通过压测及性能调优999性能<20ms
Wesley13 Wesley13
2年前
API网关原理
1、API网关介绍 API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。 API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有
京东云开发者 京东云开发者
11个月前
服务端应用多级缓存架构方案 | 京东云技术团队
20w的QPS的场景下,服务端架构应如何设计?常规解决方案可使用分布式缓存来抗,比如redis集群,6主6从,主提供读写,从作为备,不提供读写服务。1台平均抗3w并发,还可以抗住,如果QPS达到100w,通过增加redis集群中的机器数量,可以扩展缓存的容量和并发读写能力。同时,缓存数据对于应用来讲都是共享的,主从架构,实现高可用。
helloworld_40038029 helloworld_40038029
10个月前
高性能多级网关与多级缓存架构落地实战
缓存架构是指将数据缓存在内存或其他快速存储介质中,以进步系统性能和响应速度的一种技术。缓存架构通常用于数据库、应用程序和网络效劳器等需求大量数据访问的场景中。下面是一个关于缓存架构的示例文章,细致引见了缓存架构的原理、完成方式以及优缺陷。
赵颜 赵颜
6个月前
[完结13章,附电子书]高性能多级网关与多级缓存架构落地实战
资料地址1:https://pan.baidu.com/s/1bSdBzBeMXX3MTX29TJlM8Q提取码:taht资料地址2:https://share.weiyun.com/SNltUNLW密码:zi3dc7今天给大家讲讲关于多级网关与多级缓存架
荀勗 荀勗
6个月前
高性能多级网关与多级缓存架构落地实战(完结+附电子书)
参考资料地址1:https://pan.baidu.com/s/12w0TT26aywnoIcogPg8Uw提取码:uzf4参考资料地址2:https://share.weiyun.com/SNltUNLW密码:zi3dc7什么是网关?网关(Gateway
吉太 吉太
6个月前
高性能多级网关与多级缓存架构落地实战(完结+附电子书)
学习地址1:https://pan.baidu.com/s/14sTSypnp6u4RSYLLkGJiLg提取码:jn7s学习地址2:https://share.weiyun.com/SNltUNLW密码:zi3dc7我们今天讲的实际上是一个工作在HTTP
小万哥 小万哥
1个月前
C++ 多级继承与多重继承:代码组织与灵活性的平衡
C多级继承多级继承是一种面向对象编程(OOP)特性,允许一个类从多个基类继承属性和方法。它使代码更易于组织和维护,并促进代码重用。多级继承的语法在C中,使用:符号来指定继承关系。多级继承的语法如下:cclassDerivedClass:publ
一次网络请求中的流量分发过程 | 京东云技术团队
现代的企业级或互联网系统往往需要进行流量规划,达成透明多级分流。流量从客户端发出到服务端处理这个过程里,流经的与功能无关的技术部件有(达成“透明分流”这个目标所采用的工具与手段):客户端缓存、域名服务器、传输链路、内容分发网络、负载均衡器、服务端缓存。透明分流带来的价值:高可用架构、高并发。