天天看点

微服务框架open-cloud应用及部署

搞起来还是有点复杂,记录一下。

一、概述

最近做的项目,包含多个业务子系统。系统结构前后端分离,前端VUE3,后端采用微服务框架,​​open-cloud(云服务开放平台)​​。open-cloud是几年前国内出来的一个开源微服务框架,居于SpringCloud,现在已经停止维护了。但是我们之前有些项目应用到它,有些积累,所以一直在用,延续至今。我去年接触了一下,现在是更加深入一些,学习心得和应用步骤需要及时总结、记录。

open-cloud已经停止维护,原因不得而知,也许相对当前业界技术的发展,技术上已经有些陈旧,但是对于我的水平来说,仍然需要仰望,同时也是学习和应用微服务框架的一个好的切入点。

二、open-cloud代码结构

微服务框架open-cloud应用及部署
微服务框架open-cloud应用及部署

里面内容不少,有一些是我们应用的时候,必不可少的,如网关、平台基础服务、平台用户认证服务,有一些则是按需使用,比如工作流接口。

三、分布式部署

1、基础部署内容

前面提到,我们项目前后端分离,前端VUE3,后端是这个open-cloud。部署时,需要运行open-cloud中的3个子项目:

微服务框架open-cloud应用及部署

这三个jar包是需要运行的。其中网关地址,就是前端请求数据时指向的地址。

其次是要部署nacos,以及部署管理后台,通过后台设置网关。Nacos是阿里巴巴开源的微服务管理平台,可以帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。

2、原理

系统部署为分布式部署。比如上面提到的三个基础服务,可以分别部署成3个微服务,然后每个业务子系统也分别部署成微服务。这些微服务,可以分布于不同的服务器,使用不同的IP。前提是它们都使用同一个nacos命名空间。nacos在这里充当了配置中心和注册中心。只要在同一个命名空间下,系统就能根据我们的请求,找到相关服务。

nacos,注册中心

微服务框架open-cloud应用及部署

以上这些服务,可能部署在不同的服务器,但都注册到了同一个nacos命名空间下。

3、部署细节

1)前端

前端向后端请求数据的地址配置为网关服务地址。

2)open-cloud

(1)在整体项目最外层的pom.xml中,配置好nacos相关信息:nacos地址、命名空间的ID
微服务框架open-cloud应用及部署
<profile>
    <!-- nacos中命名空间的ID -->
    <id>gzdd-zhfz-dzzhyj</id>
    <activation>
        <!--默认激活配置-->
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <!--当前环境-->
        <profile.name>gdhysthj</profile.name>
        <!--Nacos配置中心地址-->
        <config.server-addr>192.168.10.248:8848</config.server-addr>
        <!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
        <config.namespace>gdhysthj</config.namespace>
        <!--nacos用户名-->
        <config.username>nacos</config.username>
        <!--nacos密码-->
        <config.password>nacos</config.password>
        <!--    swagger-enable-->
        <swagger.enable>true</swagger.enable>
        <!--Nacos服务发现地址-->
        <discovery.server-addr>192.168.10.248:8848</discovery.server-addr>
        <!--微服务注册服务地址网段-->
        <discovery.server-ip>192.168.10</discovery.server-ip>
        <!--zipkin服务地址-->
        <zipkin.base-url>http://192.168.10.248:9411/</zipkin.base-url>

        <!--    端口配置-->
        <!--    系统配置-->
        <!--    服务网关,前端指向本端口 -->
        <getway.server.port>8094</getway.server.port>
        <!--        认证 原8211 防止22端口冲突-->
        <uaa.server.port>8212</uaa.server.port>

        <!--    业务系统配置 -->
        <!--        测试服务 -->
        <test.server.port>8192</test.server.port>
        <!--        业务1 -->
        <hyhj.server.port>8193</hyhj.server.port>
        <!--        业务2 -->
        <rhpwk.server.port>8194</rhpwk.server.port>
    </properties>
</profile>      
(2)每个业务子系统项目中,使用相关nacos配置
微服务框架open-cloud应用及部署

nacos,配置中心

微服务框架open-cloud应用及部署

四、网关服务

微服务众多,对于前端发来的请求,网关怎么知道分发给谁呢?就靠网关的路由定义了。

open-cloud提供了一个​​后台管理前端(open-admin-ui)​​,部署后,可通过它进行路由定义。定义将保存在数据库里。同样,该后台管理前端也指向网关服务地址。

微服务框架open-cloud应用及部署
微服务框架open-cloud应用及部署

继续阅读