微服务框架open-cloud应用及部署
Posted 左直拳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务框架open-cloud应用及部署相关的知识,希望对你有一定的参考价值。
搞起来还是有点复杂,记录一下。
一、概述
最近做的项目,包含多个业务子系统。系统结构前后端分离,前端VUE3,后端采用微服务框架,open-cloud(云服务开放平台)。open-cloud是几年前国内出来的一个开源微服务框架,居于SpringCloud,现在已经停止维护了。但是我们之前有些项目应用到它,有些积累,所以一直在用,延续至今。我去年接触了一下,现在是更加深入一些,学习心得和应用步骤需要及时总结、记录。
open-cloud已经停止维护,原因不得而知,也许相对当前业界技术的发展,技术上已经有些陈旧,但是对于我的水平来说,仍然需要仰望,同时也是学习和应用微服务框架的一个好的切入点。
二、open-cloud代码结构
里面内容不少,有一些是我们应用的时候,必不可少的,如网关、平台基础服务、平台用户认证服务,有一些则是按需使用,比如工作流接口。
三、分布式部署
1、基础部署内容
前面提到,我们项目前后端分离,前端VUE3,后端是这个open-cloud。部署时,需要运行open-cloud中的3个子项目:
这三个jar包是需要运行的。其中网关地址,就是前端请求数据时指向的地址。
其次是要部署nacos,以及部署管理后台,通过后台设置网关。Nacos是阿里巴巴开源的微服务管理平台,可以帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。
2、原理
系统部署为分布式部署。比如上面提到的三个基础服务,可以分别部署成3个微服务,然后每个业务子系统也分别部署成微服务。这些微服务,可以分布于不同的服务器,使用不同的IP。前提是它们都使用同一个nacos命名空间。nacos在这里充当了配置中心和注册中心。只要在同一个命名空间下,系统就能根据我们的请求,找到相关服务。
nacos,注册中心
以上这些服务,可能部署在不同的服务器,但都注册到了同一个nacos命名空间下。
3、部署细节
1)前端
前端向后端请求数据的地址配置为网关服务地址。
2)open-cloud
(1)在整体项目最外层的pom.xml中,配置好nacos相关信息:nacos地址、命名空间的ID
<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配置
nacos,配置中心
四、网关服务
微服务众多,对于前端发来的请求,网关怎么知道分发给谁呢?就靠网关的路由定义了。
open-cloud提供了一个后台管理前端(open-admin-ui),部署后,可通过它进行路由定义。定义将保存在数据库里。同样,该后台管理前端也指向网关服务地址。
通过不同的路由前缀,指向不同的微服务。路由标识就是每个业务子系统的artifactId
以上是关于微服务框架open-cloud应用及部署的主要内容,如果未能解决你的问题,请参考以下文章