先说背景:
我们前端是react
后端是gradle的spring Cloud
微应用管理平台注册微应用
阿里云原生管理平台进行web和应用部署
环境:
1、react打包的前端静态资源镜像
2、gradle打包的微应用
3、网关镜像,其实就是网关jar包
4、两台SLB软负载,一台用于绑定前端web的nginx容器,我们就叫它前置软负载吧。
一台用于绑定网关。网关进行转发请求至后端微应用,这个SLB叫做后置软负载。
流程:
(1)页面访问路径是http://+前置软负载的IP+端口+/路径
(2)软负载绑定web容器,因此可以转发至web容器的nginx服务器,前端镜像部署在web服务器,配置nginx的nginx.conf 过滤*.js,*.css,*.html转发至本地的前端页面路径。
(3)页面访问到之后,浏览器可以看到了,想要进行请求后台的微应用,首先访问的是当前web容器的nginx,nginx进行关键字过滤转发至后置SLB(仍然是配置nginx.conf)。
转发路径是:后置的SLB+端口+请求要展示访问的微应用名称+版本号
后置的SLB软负载绑定的网关的ip和端口
网关再转发至各个微应用
如果微应用有多台,前端要根据请求去访问不同的微应用进行操作,就需要nginx配置过滤不同的关键字转发至不同的微应用了。
(4)网关中有可以开启令牌,报文信息加密等。
注意: 无论是网关还是微应用,都需要配置注册中心,这样才可以被注册中心发现,进行转发。
微服务之前的接口调用,需要发布接口,然后外系统才可以查询到接口,并申请和下载接口的json文件进行组装报文使用。