当前位置: 首页 > news >正文

【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES

【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES

  • 部署KES数据库到KES数据库同步服务
    • 1.登录KFS管理平台
    • 2.开始配置数据节点信息
      • (1)配置node1数据节点
      • (2)配置node2数据节点
    • 3.KFS拓扑图配置
    • 4.开始部署
    • 5.启动同步程序并查验是否运行正常
  • 测试同步
    • 1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下
    • 2.将node1传过来的数据导入到node2数据库中
    • 3.修改拓扑图配置实现增量搬迁同步
      • (1).修改node1节点配置
      • (2).修改node2节点配置
      • (3).更新同步配置
      • (4).启动同步节点
      • (5).更新同步配置
  • 数据校验
    • 1.准备数据
    • 2.校验配置
    • 3.新建校验任务
    • 4.新建调度任务
    • 5.执行校验
  • 数据自动修复
    • 1.新建数据自动修复任务
    • 2.再次执行数据校验任务
    • 3.查询修复结果
  • 配置告警邮件
    • 1.告警邮箱配置
    • 2.配置告警管理
    • 3.错误问题
      • (1).邮件发送提示失败
      • (2).配置告警提示失败
    • 4.邮件告警展示

部署KES数据库到KES数据库同步服务

1.登录KFS管理平台

账号密码
adminadmin
user_0017Kfs123#$

在这里插入图片描述
在这里插入图片描述

2.开始配置数据节点信息

  • 【部署管理】>【节点管理】>【新建】> 【填入相关信息】 >【保存】
  • 安装目录:/home/flysync/replicator

(1)配置node1数据节点

在这里插入图片描述

点击保存

(2)配置node2数据节点

在这里插入图片描述
点击保存

在这里插入图片描述

3.KFS拓扑图配置

【部署管理】>【拓扑配置】
在这里插入图片描述

4.开始部署

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

5.启动同步程序并查验是否运行正常

【部署管理】> 【节点管理】>【启动】。
在这里插入图片描述
在这里插入图片描述

查看服务状态

【部署管理】> 【服务管理】

在这里插入图片描述

测试同步

1.从node1数据库中导出exam模式并拷贝到node2 /tmp目录下

[root@node1 ~]# su - kingbase
上一次登录:五 1117 18:13:59 CST 2023pts/1 上
[kingbase@node1 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node1 bin]$ ./sys_dump -U flysync -d test -f /tmp/exam.dmp -Fc -n exam
[kingbase@node1 bin]$ scp /tmp/exam.dmp node2:/tmp
kingbase@node2's password: 
exam.dmp                                                                                                                                                                                                       100%   16KB  16.3KB/s   00:00    
[kingbase@node1 bin]$ 

2.将node1传过来的数据导入到node2数据库中

[root@node2 ~]# su - kingbase
上一次登录:五 1117 15:54:16 CST 2023
[kingbase@node2 ~]$ cd /KingbaseES/V8/Server/bin/
[kingbase@node2 bin]$ ./ksql -Usystem test -c 'create schema exam0017'
CREATE SCHEMA
[kingbase@node2 bin]$ ./sys_restore -Usystem /tmp/exam.dmp -d test -Fc -g exam -G exam0017
[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# ALTER TABLE exam01.course RENAME TO course0017;
test=# \d exam0017.*索引 "exam0017.cno_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------cno  | numeric(2,0) || cno
主键(PK),btree, 给数据表 "exam0017.course"数据表 "exam0017.course"栏位    |            类型            | 校对规则 |  可空的  | 预设 
-----------+----------------------------+----------+----------+------cno       | numeric(2,0)               |          | not null | cname     | character varying(30 char) |          | not null | clevel    | character varying(13 char) |          |          | pass_mark | numeric(5,0)               |          | not null | 
索引:"cno_pk" PRIMARY KEY, btree (cno)
检查约束限制"pass_mark_ck" CHECK (pass_mark > 0::numeric)
由引用:TABLE "exam0017.score" CONSTRAINT "cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)索引 "exam0017.id_no_uk"栏位  |            类型            | 键值? | 定义  
-------+----------------------------+-------+-------id_no | character varying(18 char) || id_no
唯一的,btree, 给数据表 "exam0017.student"索引 "exam0017.ino_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------ino  | numeric(3,0) || ino
主键(PK),btree, 给数据表 "exam0017.instructor"数据表 "exam0017.instructor"栏位  |            类型            | 校对规则 |  可空的  | 预设 
-------+----------------------------+----------+----------+------ino   | numeric(3,0)               |          | not null | iname | character varying(20 char) |          | not null | title | character varying(30 char) |          |          | 
索引:"ino_pk" PRIMARY KEY, btree (ino)
由引用:TABLE "exam0017.score" CONSTRAINT "ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)数据表 "exam0017.instructor_history"栏位   |            类型            | 校对规则 |  可空的  | 预设 
----------+----------------------------+----------+----------+------ino      | numeric(3,0)               |          |          | iname    | character varying(20 char) |          | not null | title    | character varying(30 char) |          |          | res_date | date                       |          |          | 索引 "exam0017.phone_uk"栏位  |     类型      | 键值? | 定义  
-------+---------------+-------+-------phone | numeric(11,0) || phone
唯一的,btree, 给数据表 "exam0017.student"数据表 "exam0017.score0017"栏位     |     类型     | 校对规则 |  可空的  | 预设 
-------------+--------------+----------+----------+------sno         | numeric(4,0) |          | not null | cno         | numeric(2,0) |          | not null | ino         | numeric(3,0) |          | not null | exam_date   | date         |          | not null | score       | numeric(5,0) |          |          | certificate | boolean      |          |          | 
索引:"score_pk" PRIMARY KEY, btree (cno, sno, ino, exam_date)
检查约束限制"score_ck" CHECK (score >= 0::numeric)
外部键(FK)限制:"cno_fk" FOREIGN KEY (cno) REFERENCES exam0017.course(cno)"ino_fk" FOREIGN KEY (ino) REFERENCES exam0017.instructor(ino)"sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)
触发器:t_update_score AFTER INSERT ON exam0017.score FOR EACH ROW 
BeginUPDATE exam0017.score t SET t.certificate=0 WHERE t.score<70;
END索引 "exam0017.score_pk"栏位    |     类型     | 键值? |   定义    
-----------+--------------+-------+-----------cno       | numeric(2,0) || cnosno       | numeric(4,0) || snoino       | numeric(3,0) || inoexam_date | date         || exam_date
主键(PK),btree, 给数据表 "exam0017.score"序列数 "exam0017.seq_student_sno"类型  | 起始值 | 最小值 | 最大值 | 增量 | 循环? | 缓存 
--------+--------+--------+--------+------+-------+------bigint |   1001 |      1 |   9999 |    1 | no    |    1索引 "exam0017.sno_cno_pk"栏位 |     类型     | 键值? | 定义 
------+--------------+-------+------sno  | numeric(4,0) || sno
主键(PK),btree, 给数据表 "exam0017.student"数据表 "exam0017.student"栏位   |            类型            | 校对规则 |  可空的  |                     预设                      
----------+----------------------------+----------+----------+-----------------------------------------------sno      | numeric(4,0)               |          | not null | nextval('exam0017.seq_student_sno'::regclass)sname    | character varying(20 char) |          |          | gender   | character varying(2 char)  |          |          | phone    | numeric(11,0)              |          | not null | id_no    | character varying(18 char) |          |          | city     | character varying(20 char) |          |          | reg_date | date                       |          |          | job      | character varying(30 char) |          |          | company  | character varying(30 char) |          |          | 
索引:"sno_cno_pk" PRIMARY KEY, btree (sno)"id_no_uk" UNIQUE CONSTRAINT, btree (id_no)"phone_uk" UNIQUE CONSTRAINT, btree (phone)
检查约束限制"gender_ck" CHECK (gender::text = 'm'::text OR gender::text = 'f'::text)
由引用:TABLE "exam0017.score" CONSTRAINT "sno_fk" FOREIGN KEY (sno) REFERENCES exam0017.student(sno)视图 "exam0017.v_score_information"栏位  |            类型            | 校对规则 | 可空的 | 预设 
-------+----------------------------+----------+--------+------sname | character varying(20 char) |          |        | iname | character varying(20 char) |          |        | cname | character varying(30 char) |          |        | score | numeric(5,0)               |          |        | test=# SELECT relkind,relname FROM sys_class WHERE relnamespace = (select oid from sys_namespace where nspname='exam0017') ;relkind |       relname       
---------+---------------------r       | courser       | instructor_historyr       | studentS       | seq_student_snov       | v_score_informationi       | cno_pki       | id_no_uki       | ino_pki       | phone_uki       | score_pki       | sno_cno_pkr       | scorer       | instructor
(13 行记录)
test=# 
  • 现在已将表结构和数据都存到了node2中

3.修改拓扑图配置实现增量搬迁同步

(1).修改node1节点配置

【部署管理】>【拓扑管理】 >【双击node1节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2).修改node2节点配置

【部署管理】>【拓扑管理】 >【双击node2节点】 >【高级属性】>【过滤器】>【新增】 >【replicate】 >【设置】 >【填入相关信息】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3).更新同步配置

然后点击【安装/更新】按钮,更新配置

在这里插入图片描述
在这里插入图片描述

点击确定

在这里插入图片描述

耐心等待直到出现安装完成字样

在这里插入图片描述

(4).启动同步节点

在这里插入图片描述

点击停止后再次启动启动

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(5).更新同步配置

在node1数据库exam模式的course和instructor表下插入数据

[kingbase@node1 bin]$ ./ksql -U flysync -dtest
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# INSERT INTO exam.course VALUES(40,'KFS','middle',80);
INSERT 0 1
test=# INSERT INTO exam.instructor VALUES(108,'fenxiaoyue','Intermediate Instructor');
INSERT 0 1
test=# \q
[kingbase@node1 bin]$ 

在node2数据库exam模式下查询course和instructor表新增的数据

[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# SELECT * FROM exam0017.course0017 WHERE cno=40;    cno | cname | clevel | pass_mark 
-----+-------+--------+-----------40 | KFS   | middle |        80
(1 行记录)test=# SELECT * FROM exam0017.instructor WHERE ino=108;ino |   iname    |          title          
-----+------------+-------------------------108 | fenxiaoyue | Intermediate Instructor
(1 行记录)test=# 

数据校验

1.准备数据

在node2(target端)误操作制造主备两端数据不一致。

[kingbase@node2 bin]$ ksql -U flysync -d test
ksql (V8.0)
输入 "help" 来获取帮助信息.test=# UPDATE exam0017.student SET phone=15723449970 WHERE sno=1008;
UPDATE 1
test=# DELETE FROM exam0017.student WHERE sno=1006;
DELETE 1
test=# INSERT INTO exam0017.student(sno,sname,gender,phone) VALUES('1009','Huang Tao','m',13812447980) ;
INSERT 0 1
test=# \q
[kingbase@node2 bin]$ 

2.校验配置

【数据校验】>【校验配置】>【数据校验及数据修复配置】

在这里插入图片描述

  • 参数配置如下
  1. 任务并行数 2(不要超出物理CPU核数)。
  2. 校验核心线程数 5。
  3. 校验同步大小 50000。
  4. 修复批量大小 10000。
  5. 校验同步记录日志 开启。
  6. 校验结果自动清除 开启,设置为3天。
  7. 是否校验大对象 开启。
  8. 大对象校验阈值 5000000
  9. 同步跳过超阈值数据 关闭。
  10. 刷新分片设置 关闭。

3.新建校验任务

【数据校验】 >【任务配置】 >【新建】。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源配置:

选择exam模式下的所有表

在这里插入图片描述

目标配置:

选择exam0017模式下的所有表

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.新建调度任务

【调度管理】> 【新建调度】

在这里插入图片描述
在这里插入图片描述

5.执行校验

执行第一次校验

在这里插入图片描述
在这里插入图片描述
点击查看详情查看校验结果
在这里插入图片描述

数据自动修复

1.新建数据自动修复任务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.再次执行数据校验任务

在这里插入图片描述

3.查询修复结果

在这里插入图片描述
在这里插入图片描述

配置告警邮件

1.告警邮箱配置

在这里插入图片描述
在这里插入图片描述

2.配置告警管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击测试
在这里插入图片描述
收到邮件点击保存

3.错误问题

(1).邮件发送提示失败

  1. 检查你的虚拟机是否网络畅通
  2. 检查你的邮箱smtp是否开通,授权码填写在密码栏

(2).配置告警提示失败

检查你新增加的用户邮箱是否和告警配置的一致
在这里插入图片描述

4.邮件告警展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

【Kingbase FlySync】界面化管控平台:2.配置数据库同步之KES>KES

【Kingbase FlySync】界面化管控平台:3.配置数据库同步之KES->KES 部署KES数据库到KES数据库同步服务1.登录KFS管理平台2.开始配置数据节点信息(1)配置node1数据节点(2)配置node2数据节点 3.KFS拓扑图配置4.开始部署5.启动同步程序并查验是否运行正常 测试同步1.从node1数据…...

企业计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密文件恢复

随着科技技术的不断发展&#xff0c;网络技术得到了快速提升&#xff0c;但网络安全威胁也不断增加&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到很多企业的求助信息&#xff0c;企业的计算机服务器遭到了mallox勒索病毒攻击&#xff0c;导致企业的所有业务中断&#…...

Sonar生成PDF错误Can‘t get Compute Engine task status.Retry..... HTTP error: 401

报错及修改&#xff1a; 报错&#xff1a;INFO: Can’t get Compute Engine task status.Retry… org.sonarqube.ws.connectors.ConnectionException: HTTP error: 401, msg: , query: org.apache.commons.httpclient.methods.GetMethod7a021f49 ERROR: Problem generating PD…...

storage和正则表达式

一、Storage 1.认识Storage WebStorage主要提供了一种机制&#xff0c;可以让浏览器提供一种比cookie更直观的key、value存储方式&#xff1a; localStorage&#xff1a;本地存储&#xff0c;提供的是一种永久性的存储方法&#xff0c;在关闭掉网页重新打开时&#xff0c;存…...

【数据结构】图的广度优先遍历

一.广度优先遍历的基本思想 &#xff08;1&#xff09;访问顶点v&#xff1b; &#xff08;2&#xff09;依次访问v的各个未被访问的邻接点v1&#xff0c;v2&#xff0c;v3……&#xff0c;vk&#xff1b; &#xff08;3&#xff09;分别从v1&#xff0c;v2&#xff0c;v3……...

AM@函数展开成幂级数@间接法@常用麦克劳林幂级数展开公式

文章目录 间接法推导幂级数展开常用麦克劳林幂级数展开公式应用例例例 间接法推导幂级数展开 已知函数的幂级数展开公式间接推导其他函数幂级数 使用原始的推导公式推导函数的幂级数展开是繁琐不便的,需要分别计算各项系数 a n f ( n ) ( 0 ) n ! a_{n}\frac{f^{(n)}(0)}{n!}…...

LeetCode994.腐烂的橘子

看完题我觉得这不是和上一道岛屿的题一样简单嘛&#xff0c;然后写了将近2个小时才写出来&#xff0c;我的思路就是&#xff0c;用check()先对grid检查一下&#xff0c;是否有以下情况&#xff1a; &#xff08;如果有1的周围都是空&#xff0c;则这个位置用不腐烂&#xff0c;…...

【开源】基于Vue和SpringBoot的康复中心管理系统

项目编号&#xff1a; S 056 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S056&#xff0c;文末获取源码。} 项目编号&#xff1a;S056&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员…...

【音视频基础】AVI文件格式

AVI文件采用的是RIFF文件结构方式。波形音频wave&#xff0c;MIDI和数字视频AVI都采用这种格式存储。 AVI文件的整体结构如下图所示 构造RIFF文件的基本单元叫做数据块&#xff08;Chunk&#xff09;&#xff0c;每个数据块包含3个部分 4字节的数据块标记&#xff08;或者叫…...

图书馆整理I(从尾到头打印列表),剑指offer,力扣

目录 题目地址&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 难度分析&#xff1a; 审题目事例提示&#xff1a; 解题思路(辅助栈)&#xff1a; 代码&#xff08;递归&#xff09;&#xff1a; 代码&#xff08;列表插入&#xff09;&#xff1a; 相似题目对…...

C++编写的多线程自动爬虫程序

目录 引言 一、程序的设计 二、程序的实现 三、程序的测试 四、优化与改进 五、代码示例 总结 引言 随着互联网的快速发展&#xff0c;网络爬虫程序已经成为数据采集、信息处理的重要工具。C作为一种高效的编程语言&#xff0c;具有高效的并发处理能力和丰富的网络编程…...

SMB信息泄露的利用

一、背景 今天分享SMB信息泄露&#xff0c;SMB&#xff08;Server Message Block&#xff09;网络通信协议&#xff0c;早些时候被用于Web链接和客户端与服务器之间的信息通信&#xff0c;现在大部分Web页面使用HTTP协议&#xff0c;在web领域应用较少。另一方面SMB协议还是被…...

QT自定义信号,信号emit,信号参数注册

qt如何自定义信号 使用signals声明返回值是void在需要发送信号的地方使用 emit 信号名字(参数)进行发送 在需要链接的地方使用connect进行链接 ct进行链接...

06.webpack性能优化--构建速度

优化babel-loaderhappyPackIgnorePluginparalleUglifyPluginnoParse自动刷新 1 happypack多进程打包 js单线程&#xff0c;开启多进程打包提高构建速度&#xff08;特别是多核CPU&#xff09; const HappyPack require(happypack)module.exports smart(webpackCommonConf,…...

11-15 周三 softmax 回归学习

11-15 周三 softmax 回归学习 时间版本修改人描述2023年11月15日11:17:27V0.1宋全恒新建文档 简介 softmax分享可以参考什么是softmax 回归估计一个连续值&#xff0c;分类预测一个离散类别。 恶意软件的判断 回归和分类 分类可以认为从回归的单输出变成多输出 B站学习 softm…...

React新手必懂的知识点

react思想&#xff1a;组件化开发 React 的核心概念是组件化开发&#xff0c;将用户界面拆分成独立的可复用组件。学习如何创建和使用 React 组件&#xff0c;以及组件之间的数据传递和通信是非常重要的。 React的思想就是拆分组件与使用组件。 import React from react;// 定…...

es为什么这么快

es为什么这么快的方式 es的基于Lucene开源搜索引擎&#xff0c;负责文件存储和搜索&#xff0c;支持http请求&#xff0c;以json形式展示 这样介绍你有可能有点迷糊我们详细解释 es 使用的倒排索引的方式&#xff0c;进行数据存储方式&#xff0c;给每一个字段创建索引&…...

Pandas分组聚合_Python数据分析与可视化

Pandas分组聚合 分组单列和多列分组Series 系列分组通过数据类型或者字典分组获取单个分组对分组进行迭代 聚合应用单个聚合函数应用多个聚合函数自定义函数传入 agg() 中对不同的列使用不同的聚合函数 分组聚合的流程主要有三步&#xff1a; 分割步骤将 DataFrame 按照指定的…...

VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)

一、安装 VMware 附官方下载链接&#xff08;VM 17 pro&#xff09;&#xff1a;https://download3.vmware.com/software/WKST-1701-WIN/VMware-workstation-full-17.0.1-21139696.exe 打开下载好的VMware Workstation 17 Pro安装包&#xff1b; 点击下一步&#xff1b; 勾选我…...

基于SDN技术构建多平面业务承载网络

随着企业数字化的浪潮席卷各个行业&#xff0c;传统网络架构面临着更为复杂和多样化的挑战。企业正在寻找一种全面适应数字化需求的网络解决方案。随着软件定义网络&#xff08;SDN&#xff09;的发展&#xff0c;“多业务SDN一张网”解决方案为企业提供了一种全新的网络架构&a…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程

基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...

接口 RESTful 中的超媒体:REST 架构的灵魂驱动

在 RESTful 架构中&#xff0c;** 超媒体&#xff08;Hypermedia&#xff09;** 是一个核心概念&#xff0c;它体现了 REST 的 “表述性状态转移&#xff08;Representational State Transfer&#xff09;” 的本质&#xff0c;也是区分 “真 RESTful API” 与 “伪 RESTful AP…...

【Flask】:轻量级Python Web框架详解

什么是Flask&#xff1f; Flask是一个用Python编写的轻量级Web应用框架。它被称为"微框架"(microframework)&#xff0c;因为它核心简单但可扩展性强&#xff0c;不强制使用特定的项目结构或库。Flask由Armin Ronacher开发&#xff0c;基于Werkzeug WSGI工具包和Jin…...

【笔记】解决MSYS2安装后cargo-install-update.exe-System Error

#工作记录 cargo-install-update.exe-System Error The code execution cannot proceed because libgit2-1.9.dll wasnot found. Reinstalling the program may fix this problem. …...