基于K8S+eureka的java应用快速上下线的WEB平台

news2024/9/25 10:34:39

刚进公司时,由于历史原因,应用发布通过:发布新版(新老并存)->下线老版->删除老版的方式,每次通过手工处理,蛋疼(不方便且高风险)。于是马上写了比较直观的脚本方案:基于K8S和注册中心的一种版本快速回退方案。当时也默默许愿,要实现WEB化,白屏化。事隔1年,愿望终于实现了。

1.主要功能页面

(1)穿梭框,选择应用列表,生成这次的发布清单

(2)标签页,步骤1中选中的每个应用有一个页面

(3)下线老的版本,注册状态变成“DOWN”,“删除”按钮激活

(4)删除老版本后,只剩新版

2.项目介绍

功能看起来很简单,但麻雀虽小五脏俱全。直接操作生成环境的eureka\k8s,做了很多校验和保护,最终才敢在生产环境上线。

技术栈:vue(element-plus)+flask

第一次用vue写完整的线上项目,遇到不少难题,正好前端的飙哥坐我隔壁,多次请教,顺便感谢下。

技术上的关键点

  1. 标签页和穿梭框,父子组件之间的通信,子组件选择应用后父组件动态响应;

  1. 前后端分离,每个后端接口需要认证才能访问;

  1. 每个应用的2个服务,在K8S中必须有1个共同的标签,和1个不同的标签

如order-server应用,2个deployment的标签:

order-server1:app:order-server, name:order-server1

order-server2:app:order-server, name:order-server2

功能上的关键点

  1. 每个应用页面刷新,要多次请求k8s api,刷新按钮限制3秒1次;

  1. 获取服务列表后检验准确性,如果信息不准确(如IP有重复),不渲染页面,直接显示错误信息;

  1. 按钮设计:

  • 应用只有1个服务时,所有按钮禁用;

  • 只有下线状态的服务才能激活“删除”按钮;

  • 应用有2个服务并存时,A服务状态正常时,才激活B服务的“下线”和“删除”按钮;

  • 以上按钮设计不仅仅在前端控制,后端“下线”和“删除”操作时也要做相应检查。

好了,等我脱敏上传github吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/170754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于java移位运算的一点讨论

框架乱飞的年代,时常还得往框架源码里看,对内在原理没点理解,人家就会认为你不太行。平时开发你可能没咋用过位移运算,但往源码里一看,就时常能看到它。我也是看着看着,突然仔细一琢磨,又不由得…

C++缺省参数与函数重载

目录 一.缺省参数 1. 基本概念 2.多参函数中使用缺省参数的情形分类 二.函数重载 (1)形参类型不同构成的重载 (2)形参个数不同构成的重载 (3)形参类型顺序不同构成的重载 函数重载的注意事项: 三.C支持函数重载的底层原理--函数名修饰 编译器生成可执行程序…

选购自主可控全国产交换机时, IP防护等级多少比较合适?

本期武汉海翎光电的小编要为大家介绍的是《选购自主可控全国产交换机时IP防护等级多少比较合适?》首先我们要了解自主可控全国产交换机的工作场景,加固交换机会比工业交换机的IP等级更高一些,而工业交换机又会比普通交换机的IP等级要求高一些…

Unity 工具 之 Jenkins 打包自动化工具的下载/安装/基本操作/任务创建执行/Unity打包自动化简单搭建的相关整理

Unity 工具 之 Jenkins 打包自动化工具的下载/安装/基本操作/任务创建执行/Unity打包自动化简单搭建的相关整理 目录 Unity 工具 之 Jenkins 打包自动化工具的下载/安装/基本操作/任务创建执行/Unity打包自动化简单搭建的相关整理 一、简单介绍 二、Jenkins 的下载 三、Jenk…

代码随想录--链表相关题目整理

代码随想录–链表相关题目整理 1. LeetCode203 移除链表中指定元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val…

如何免费创建PDF文档?创建PDF文档的9个工具

PDF 创建器是一种程序、应用程序或软件,旨在制作或创建 PDF 文档。自可移植文档格式 ( PDF ) 出现以来,文档共享和存储变得更加容易。PDF 还使文件交换更加安全。由于 PDF 格式的众多优点,PDF 文档被全球范围内的人们广泛使用。因此&#xff…

Java数据结构(List介绍和顺序表)

1、List的介绍 在集合框架中,List是一个接口,继承自Collection(也是一个接口)。 Collection也是一个接口,该接口中规范了后序容器中常用的一些方法,Iterable也是一个接口,表示实现该接口的类是可…

第一天总结 之 用户管理界面的实现 之 修改操作 的实现

修改操作 首先 明确 修改操作的前提是 先在页面显示修改前的数据 然后对其进行修改 之后点击提交在页面显示修改前的数据 方法一: 带着数据直接跳转 到添加页面 即在跳转的url后 直接通过?携带数据跳转 缺点: !!…

6、Ubuntu20的JDKMySQLtomcatRedis安装

安装JDK 这里以安装版本8为例 进入存放jdk目录创建目录 cd /usr/local mkdir jdk cd jdk 把下好的jdk8压缩包拖拽到Ubuntu连接用户下 移动jdk包文件 mv /home/starfish/jdk-8u351-linux-x64.tar.gz . 解压jdk tar -zxvf jdk-8u351-linux-x64.tar.gz cd jdk1.8.0_351/ p…

【C#】C#Process调用外部程序

前言 使用C#调用外部程序,一种是通过Process类,一种是通过命令行,本文主要说一下使用C#中的Process类调用外部程序的方式。 过程: 创建Process对象配置启动选项(输入、输出等)切换工作目录设置外部程序名…

Java——全排列

题目链接 leetcode在线oj题——全排列 题目描述 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 题目示例 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] …

Linux防火墙状态查看 | 端口关闭 | 端口开启 | 修改命令

目录 firewall防火墙 【1】查看firewall状态 【2】开启、重启、关闭firewalld服务 【3】查看防火墙规则 【3】 添加指定需要开放的端口(开启8088) 【4】重载入添加的端口 【5】查询指定端口是否开启成功 firewall防火墙 【1】查看firewall状态 s…

Java日志系统log4j2的使用配置和异步日志使用

目录1. log4j21.1 log4j2介绍1.2 Log4j2入门1.2.1 log4j2(日志门面 日志框架)使用1.2.2 slf4j log4j2使用1.3 Log4j2配置1.4 Log4j2异步日志1.4.1 全局异步AsyncLogger1.4.2 混合异步AsyncLogger1.4.3 AsyncAppender1. log4j2 1.1 log4j2介绍 Apache Log4j2是Log4j的升级版…

IB地理学什么?适合什么人学习?

IB精选:IB地理学什么?快速搞懂自己适不适合修读地理! 核心目的IB地理科是一个很特别的科目,目的是要帮助同学掌握一些认识和了解现实世界的技能。这个现实世界包括了两大部分。 第一个部分是自然环境,当中包括生态系统…

你还在恐惧指针吗?点进来,带你全方位深入了解指针

指针是什么? 指针也就是内存地址,指针变量是用来存放内存地址的变量。(存放在指针中的值都被当做地址处理) 对于32位的机器,假设有32根地址线,那么假设每根地址线在寻找地址的时候会产生高电平(高电压)和…

[ZJCTF 2019]NiZhuanSiWei

目录 信息收集 代码审计 第一层 第二层 第三层 信息收集 打开页面又是代码审计 代码如下 <?php $text $_GET["text"]; $file $_GET["file"]; $password $_GET["password"]; if(isset($text)&&(file_get_contents($text,…

React + TS + TDD 扫雷游戏学习心得

React TS TDD 扫雷游戏学习心得 试玩地址&#xff1a;https://goldenaarcher.com/minesweeper&#xff0c;stroybook 的地址&#xff1a;https://www.chromatic.com/build?appId63b2530f575ed5942cf105be&number1 测试主要使用 jest&#xff08;mock&#xff09; RTL …

Linux进程控制(进程替换)

目录 一、进程程序替换原理 二、进程替换函数 三、函数实现子进程进程替换 3.1 测试函数 3.2 写时拷贝保证替换后的进程独立性 四、自我实现一个简单的 shell 五、内置命令 5.1 pwd查询路径本质 5.2 内置命令概念 5.3 自我实现shell Pro 先见见进程替换&#xff1a; …

Unity学习笔记--如何在Unity中把自己的代码打包成dll给别人使用?(纯保姆式教学,看完还不会,今晚八点,来沙城砍我)

目录前言背景步骤一步骤二步骤三步骤四&#xff08;关键&#xff01;&#xff01;&#xff01;&#xff09;步骤五步骤六步骤七步骤八步骤九步骤十总结前言 最近公司放年假了&#xff0c;没什么事做&#xff0c;所以来公司学习&#xff08;蹭吃蹭喝ing&#xff09; 突然记起来…

CSS总结笔记+案例

此文章属于前端篇中的第二节CSS样式 继前期HTML标记语言 CSS总结笔记&#xff1a; 3.CSS样式 css&#xff0c;专门用来“美化”标签。 基础CSS&#xff0c;写简单页面&看懂&改。模块、调整和修改 3.1CSS应用方法 1.在标签上 - 高度和宽度样式&#xff1a; <i…