kong搭建一套微信小程序的公司研发环境

news/2025/3/17 10:16:14/

一、物理架构

在这里插入图片描述

小程序>微信小程序H5部署在微信公众平台,需要通过外网域名访问到公司机房。

为了区分生产和研发环境,需要创建两个外网域名。

另外,小程序>微信小程序需要配置业务域名, 请参考文章- 小程序>微信小程序的业务域名配置(通过kong网关的pre-function配置)

本文试着图文结合的方式,把整个流程要做的事项梳理出来,以供参考。

二、新建外网域名

在这里插入图片描述
无论是研发环境域名,还是正式环境域名,均指向IDC的kong

研发环境的搭建,相当于是把正式环境一拆为二,一部分配置在IDC kong,另一部分配置在公司研发环境 kong

接下来就详细说一说kong应该如何配置路由及upstream。

kong_route__20">三、kong route 路由配置

在这里插入图片描述
在这里插入图片描述
Hosts 填写测试外网域名,指向公司研发环境。

kong_upstream__26">四、kong upstream 配置

填写公司研发环境的外网出口IP及端口, 此端口6008映射到公司研发环境下的kong_80端口。
在这里插入图片描述
回过头说一下,Kong service的配置,有一个地方需要和这里的upstream名称保持一致。

在这里插入图片描述
至此,当用户访问测试外网域名的时候,请求将转发至公司研发环境kong上。

下面,我们将说明公司研发环境应该如何配置kong

五、公司研发环境Kong

  • service配置,Host填写upstream名称,默认所有的请求都将转发至该upstream的意思
  • upstream配置,跟普通的服务一样,填写内网IP和端口
  • route配置,是我们的重点,详细见下文

前文也说了,公司研发环境下,暴露的外网端口是6008,它将指向Kong。
但是,当有多个域名都想要指向公司研发的kong时,为了区分不同的路由,所以在Path增加不同的前缀。

比如说,122.220.130.109/user 指向 kong 的 user-service(kong service的名称),
现在新增了一个product-service(kong service的名称),
在外网地址相同且只有一个的情况下,product-service的路由地址就不能是122.220.130.109/user,而应该是122.220.130.109/product。

这样,通过path的不同,把同一个外网地址,路由到不同的service下。

对于外网来说,公司研发环境kong就只有一个外网地址,它就是122.220.130.109。
理解了这一层,下面的路由创建就容易理解了。

在这里插入图片描述
测试验证方法,curl某个接口,比如curl http://122.220.130.109:6008/dev/api/v1/pub/userId/1001/info

如果是通的,说明公司研发环境下的路由没问题。

接下来就使用外网域名进一步验证:

还是curl同一个接口,比如curl http://xxx-test.edu.net/dev/api/v1/pub/userId/1001/info

如果是通的,才说明整个链路畅通。

除了创建这个接口路由,还需创建一个路由,用于配置业务域名。(前文已提及,这里就不赘述)
在这里插入图片描述

六、总结

本文通过图文的方式,把小程序>微信小程序的公司研发环境搭建整过程详细描述,使用到的api网关是kong
如果是其他网关,原理大同,见文章最开头的架构图。
另外,你需要知道公司研发环境的网络相关知识,比如外网和内网的端口映射应该如何做。


http://www.ppmy.cn/news/1579784.html

相关文章

生活中的可靠性小案例11:窗户把手断裂

窗户把手又断了,之前也断过一次,使用次数并没有特别多。上方的图是正常的把手状态,断的形状如下方图所示。 这种悬臂梁结构,没有一个良好的圆角过渡,导致应力集中。窗户的开关,对应的是把手的推拉&#xff…

五子棋小游戏-简单开发版

一、需求分析 开发一个基于 Pygame 库的五子棋小游戏,允许两名玩家在棋盘上轮流落子,当有一方达成五子连珠时游戏结束,显示获胜信息,并提供退出游戏和重新开始游戏的操作选项。 1.棋盘显示 : 显示一个 15x15 的五子棋…

C语言动态内存管理(上)

欢迎拜访:雾里看山-CSDN博客 本篇主题:C语言动态内存管理(上) 发布时间:2025.3.16 隶属专栏:C语言 目录 为什么需要动态内存管理静态分配的局限性动态分配的优势 动态内存函数malloc函数介绍函数使用 free函数介绍函数使用 calloc…

基于SSM+Vue+uniapp的科创微应用(可改为研学)小程序+LW示例

1.项目介绍 系统角色:管理员、企业、普通用户功能模块:用户管理、企业管理、场地管理、场地类型管理、预约参观管理、场地预约管理、活动信息管理、报名信息管理、试题管理、试卷管理等技术选型:SSM,Vue(后端管理web&…

理解光场模型:uv与st的结合

在计算机图形学和计算机视觉领域,光场模型是一种强大的技术,它允许我们捕捉和呈现复杂的三维场景,以更真实的方式表达光的传播和交互。本文将探讨光场模型的基本概念,并深入分析其中两个关键平面——uv平面和st平面,它…

linux 下消息队列

文章目录 📨 Linux System V 消息队列实战一、消息队列核心概念 💡1. 消息队列特点 🌟2. 生命周期 🔄 二、项目概述三、完整代码实现1. 公共头文件 common.hpp2. 发送端 sender.cpp3. 接收端 receiver.cpp 三、编译与运行指南1. 编…

初探 Threejs 物理引擎CANNON,解锁 3D 动态魅力

简介 Cannon.js 是一个基于 JavaScript 的物理引擎,它可以在浏览器中模拟物理效果。它支持碰撞检测、刚体动力学、约束等物理效果,可以用于创建逼真的物理场景和交互。 参考文档 官方示例 原理 Cannon.js 使用了欧拉角来表示物体的旋转,…

【误差理论与可靠性工程】可靠性工程基本理论

可靠性工程是一种工程学科,主要涉及如何对产品和系统的可靠性进行评估、设计和管理等。可靠性工程的基本理论包括可靠性的定义、可靠性的特征、可靠性的评估方法、可靠性的设计原则和可靠性预测方法等。 1. 可靠性的定义 可靠性是指产品或系统在规定条件下保持正常…