IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 微服务框架open-cloud应用及部署 -> 正文阅读

[Java知识库]微服务框架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
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:18:51  更:2022-10-17 12:22:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/30 14:02:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码