在CSDN学Golang云原生(Kubernetes Pod 有状态部署)
一,StatefulSet部署MongoDB集群
Kubernetes StatefulSet 是 Kubernetes 中的一种资源类型,它能够保证有状态服务(Stateful Service)的唯一性和顺序部署,适用于需要持久化存储、网络标识、状态管理等场景。MongoDB 是一个非常流行的 NoSQL 数据库,下面我们介绍如何使用 Kubernetes StatefulSet 部署 MongoDB 集群。
- 创建一个 ConfigMap
ConfigMap 可以用来存放 MongoDB 的配置文件,包括副本集配置文件、启动脚本等。在创建 ConfigMap 时可以指定这些配置文件的内容,例如:
apiVersion: v1
kind: ConfigMap
metadata:name: mongodb-configmap
data:mongod.conf: |systemLog:destination: filepath: "/var/log/mongodb/mongod.log"logAppend: truestorage:dbPath: "/data/db"journal:enabled: trueprocessManagement:fork: falsenet:port: 27017replication:replSetName: rs0
- 创建一个 Headless Service
Headless Service 指没有 cluster IP 的 service,在 Kubernetes 中可以通过 DNS 解析来访问服务实例。由于每个 MongoDB 实例都需要有自己的 hostname 和 network identity,所以我们需要创建一个 Headless Service 来为每个实例分配独立的 hostname。
apiVersion: v1
kind: Service
metadata:name: mongodb-service-headless
spec:ports:- name : mongo port: 27017targetPort: 27017clusterIP: Noneselector:app: mongodb
- 创建一个 StatefulSet
下面是一个简单的 MongoDB StatefulSet 配置示例,其中 replicas
指定了副本数,serviceName
指定了使用的 Headless Service 名称,volumeClaimTemplates
定义了每个 Pod 使用的 PVC。
apiVersion: apps/v1
kind: StatefulSet
metadata:name: mongodb-statefulset
spec:serviceName: mongodb-service-headless replicas: 3 selector:matchLabels:app: mongodb template:metadata:labels:app: mongodb spec:containers:- name : mongo image : mongo command :- "mongod" - "--config" - "/etc/mongod.conf" ports :- containerPort : 27017name : mongovolumeMounts :- name : data-volumemountPath : /data/db/- name : config-volumemountPath : /etc/mongod.conf volumes :- name : data-volume persistentVolumeClaim :claimName : pvc-mongo-data - name : config-volume configMap :name : mongodb-configmap terminationGracePeriodSeconds: 10 dnsPolicy: ClusterFirstWithHostNet
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name:pvc-mongo-data
spec:accessModes:- ReadWriteOnce resources :requests :storage : 20Gi
这个配置将创建三个 MongoDB 实例,每个实例都有自己的 PVC 存储卷和配置文件。StatefulSet 会按照 mongo-0
、mongo-1
、mongo-2
的顺序为 Pod 分配唯一的 hostname 和 network identity。我们可以使用 DNS 来访问这些实例:
mongo-0.mongodb-service-headless.default.svc.cluster.local
mongo-1.mongodb-service-headless.default.svc.cluster.local
mongo-2.mongodb-service-headless.default.svc.cluster.local
这样,我们就成功地使用 Kubernetes StatefulSet 部署了一个 MongoDB 副本集。
二,StatefulSet部署Redis集群
Kubernetes StatefulSet 可以用来部署有状态的服务(Stateful Service),Redis 是一种非常流行的内存数据库,支持数据持久化和复制等功能。在 Kubernetes 中使用 StatefulSet 部署 Redis 集群需要注意以下几个方面。
- 创建一个 ConfigMap
ConfigMap 可以用来存放 Redis 的配置文件,包括启动脚本、Redis.conf 等。在创建 ConfigMap 时可以指定这些配置文件的内容,例如:
apiVersion: v1
kind: ConfigMap
metadata:name: redis-configmap
data:redis.conf: |bind 0.0.0.0port 6379cluster-enabled yescluster-config-file /data/nodes.confcluster-node-timeout 15000
- 创建一个 Headless Service
为了让每个 Redis 实例都有唯一的 hostname 和 network identity,我们需要创建一个 Headless Service 来分配独立的 hostname。
apiVersion: v1
kind: Service
metadata:name: redis-service-headless
spec:ports:- name : redis port: 6379targetPort: 6379clusterIP: Noneselector:app: redis
- 创建一个 StatefulSet
下面是一个简单的 Redis StatefulSet 配置示例,其中 replicas
指定了副本数,serviceName
指定了使用的 Headless Service 名称,volumeClaimTemplates
定义了每个 Pod 使用的 PVC。
apiVersion: apps/v1
kind: StatefulSet
metadata:name: redis-statefulset
spec:serviceName: redis-service-headless replicas: 3 selector:matchLabels:app: redis template:metadata:labels:app: redis spec:containers:- name : redis image : redis command :- "redis-server" - "/etc/redis/redis.conf" ports :- containerPort : 6379name : redisvolumeMounts :- name : data-volumemountPath : /data - name : config-volumemountPath : /etc/redis/args: ["/etc/redis/redis.conf"]volumes :- name : data-volume persistentVolumeClaim :claimName : pvc-redis-data - name : config-volume configMap :name : redis-configmap terminationGracePeriodSeconds: 10 dnsPolicy: ClusterFirstWithHostNet
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name:pvc-redis-data
spec:accessModes:- ReadWriteOnce resources :requests :storage : 20Gi
这个配置将创建三个 Redis 实例,每个实例都有自己的 PVC 存储卷和配置文件。StatefulSet 会按照 redis-0
、redis-1
、redis-2
的顺序为 Pod 分配唯一的 hostname 和 network identity。我们可以使用 DNS 来访问这些实例:
redis-0.redis-service-headless.default.svc.cluster.local
redis-1.redis-service-headless.default.svc.cluster.local
redis-2.redis-service-headless.default.svc.cluster.local
这样,我们就成功地使用 Kubernetes StatefulSet 部署了一个 Redis 集群。
三,StatefulSet部署ES集群
Kubernetes StatefulSet 可以用来部署有状态的服务(Stateful Service),Elasticsearch 是一种非常流行的分布式搜索和数据分析引擎,支持集群部署和数据持久化等功能。在 Kubernetes 中使用 StatefulSet 部署 Elasticsearch 集群需要注意以下几个方面。
- 创建一个 ConfigMap
ConfigMap 可以用来存放 Elasticsearch 的配置文件,例如 elasticsearch.yml
和 jvm.options
等。在创建 ConfigMap 时可以指定这些配置文件的内容,例如:
apiVersion: v1
kind: ConfigMap
metadata:name: elasticsearch-configmap
data:elasticsearch.yml: |cluster.name: es-clusternode.name: ${HOSTNAME}network.host: "0.0.0.0"discovery.zen.ping.unicast.hosts: "es-discovery-0,es-discovery-1,es-discovery-2"discovery.zen.minimum_master_nodes: 2jvm.options: |-Xms512m-Xmx512m
- 创建一个 Headless Service
为了让每个 Elasticsearch 实例都有唯一的 hostname 和 network identity,我们需要创建一个 Headless Service 来分配独立的 hostname。
apiVersion: v1
kind: Service
metadata:name: es-service-headless
spec:ports:- name : http port : 9200 targetPort : http clusterIP : None selector :app : elasticsearch
- 创建一个 StatefulSet
下面是一个简单的 Elasticsearch StatefulSet 配置示例,其中 replicas
指定了副本数,serviceName
指定了使用的 Headless Service 名称,volumeClaimTemplates
定义了每个 Pod 使用的 PVC。
apiVersion: apps/v1
kind: StatefulSet
metadata:name: es-statefulset
spec:serviceName: es-service-headless replicas: 3 selector:matchLabels:app: elasticsearch template:metadata:labels:app: elasticsearch spec:containers:- name : elasticsearch image : docker.elastic.co/elasticsearch/elasticsearch:7.10.2ports :- containerPort : 9200name : http - containerPort : 9300 name : transport env :- name : cluster.name value : "es-cluster" - name : discovery.seed_hosts value : "es-discovery-0,es-discovery-1,es-discovery-2"- name : cluster.initial_master_nodes value : "es-0,es-1,es-2" volumeMounts :- name : data-volumemountPath : /usr/share/elasticsearch/data - name : config-volumemountPath : /usr/share/elasticsearch/config/args :["-Enode.name=${HOSTNAME}"]volumes :- name : data-volume persistentVolumeClaim :claimName : pvc-es-data - name : config-volume configMap :name : elasticsearch-configmap terminationGracePeriodSeconds: 10 dnsPolicy: ClusterFirstWithHostNet
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name:pvc-es-data
spec:accessModes:- ReadWriteOnce resources :requests :storage : 20Gi
这个配置将创建三个 Elasticsearch 实例,每个实例都有自己的 PVC 存储卷和配置文件。StatefulSet 会按照 es-0
、es-1
、es-2
的顺序为 Pod 分配唯一的 hostname 和 network identity。我们可以使用 DNS 来访问这些实例:
http://es-0.es-service-headless.default.svc.cluster.local:9200
http://es-1.es-service-headless.default.svc.cluster.local:9200
http://es-2.es-service-headless.default.svc.cluster.local:9200
这样,我们就成功地使用 Kubernetes StatefulSet 部署了一个 Elasticsearch 集群。
Golang云原生学习路线图、教学视频、文档资料、面试题资料(资料包括C/C++、K8s、golang项目实战、gRPC、Docker、DevOps等)免费分享 有需要的可以加qun:793221798领取
四,StatefulSet部署ETCD集群
在 Kubernetes 中使用 StatefulSet 部署 etcd 集群需要注意以下几个方面。
- 创建一个 ConfigMap
ConfigMap 可以用来存放 etcd 的配置文件,例如 etcd.conf
等。在创建 ConfigMap 时可以指定这些配置文件的内容,例如:
apiVersion: v1
kind: ConfigMap
metadata:name: etcd-configmap
data:etcd.conf: |name: "etcd-cluster"data-dir: "/var/lib/etcd"listen-peer-urls: "https://0.0.0.0:2380"listen-client-urls: "https://0.0.0.0:2379"initial-advertise-peer-urls: "https://$(hostname -f):2380"advertise-client-urls: "https://$(hostname -f):2379"
- 创建一个 Headless Service
为了让每个 etcd 实例都有唯一的 hostname 和 network identity,我们需要创建一个 Headless Service 来分配独立的 hostname。
apiVersion: v1
kind: Service
metadata:name: etcd-service-headless
spec:ports:- name : client port : 2379 targetPort : client clusterIP : None selector :app : etcd
- 创建一个 StatefulSet
下面是一个简单的 etcd StatefulSet 配置示例,其中 replicas
指定了副本数,serviceName
指定了使用的 Headless Service 名称,volumeClaimTemplates
定义了每个 Pod 使用的 PVC。
apiVersion: apps/v1
kind: StatefulSet
metadata:name: etcd-statefulset
spec:serviceName: etcd-service-headless replicas: 3 selector:matchLabels:app: etcd template:metadata:labels:app: etcd spec:containers:- name : etcd image : quay.io/coreos/etcd:v3.5.0command :- /usr/local/bin/etcd - --config-file=/etc/etcd/etcd.conf ports :- containerPort : 2379name : client - containerPort : 2380 name : peer env :- name : ETCD_NAME valueFrom :fieldRef :fieldPath : metadata.name - name : ETCD_INITIAL_CLUSTER_STATE value : new volumeMounts :- name : data-volumemountPath : /var/lib/etcd/data - name : config-volumemountPath : /etc/etcd/volumes :- name : data-volume persistentVolumeClaim :claimName : pvc-etcd-data - name : config-volume configMap :name : etcd-configmap terminationGracePeriodSeconds: 10 dnsPolicy: ClusterFirstWithHostNet
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name:pvc-etcd-data
spec:accessModes:- ReadWriteOnce resources :requests :storage : 20Gi
这个配置将创建三个 etcd 实例,每个实例都有自己的 PVC 存储卷和配置文件。StatefulSet 会按照 etcd-0
、etcd-1
、etcd-2
的顺序为 Pod 分配唯一的 hostname 和 network identity。我们可以使用 DNS 来访问这些实例:
https://etcd-0.etcd-service-headless.default.svc.cluster.local:2379
https://etcd-1.etcd-service-headless.default.svc.cluster.local:2379
https://etcd-2.etcd-service-headless.default.svc.cluster.local:2379
这样,我们就成功地使用 Kubernetes StatefulSet 部署了一个 etcd 集群。
五,StatefulSet部署Kafka集群
在 Kubernetes 中使用 StatefulSet 部署 Kafka 集群需要注意以下几个方面。
- 创建一个 ConfigMap
ConfigMap 可以用来存放 Kafka 的配置文件,例如 server.properties
等。在创建 ConfigMap 时可以指定这些配置文件的内容,例如:
apiVersion: v1
kind: ConfigMap
metadata:name: kafka-configmap
data:server.properties: |broker.id=0listeners=PLAINTEXT://$(hostname -f):9092advertised.listeners=PLAINTEXT://$(hostname -f):9092log.dirs=/var/lib/kafka/datazookeeper.connect=zookeeper-service-headless:2181/kafka
- 创建一个 Headless Service
为了让每个 Kafka 实例都有唯一的 hostname 和 network identity,我们需要创建一个 Headless Service 来分配独立的 hostname。
apiVersion: v1
kind: Service
metadata:name: kafka-service-headless
spec:ports:- name : client port : 9092 targetPort : client clusterIP : None selector :app : kafka
- 创建一个 StatefulSet
下面是一个简单的 Kafka StatefulSet 配置示例,其中 replicas
指定了副本数,serviceName
指定了使用的 Headless Service 名称,volumeClaimTemplates
定义了每个 Pod 使用的 PVC。
apiVersion: apps/v1
kind: StatefulSet
metadata:name: kafka-statefulset
spec:serviceName: kafka-service-headless replicas: 3 selector:matchLabels:app: kafka template:metadata:labels:app: kafka spec:containers:- name : kafka image : wurstmeister/kafka:2.13-2.8.0command :- /bin/bash - -c - |/opt/kafka/bin/kafka-server-start.sh /etc/kafka/server.properties --override broker.id=$(hostname|awk -F'-' '{print $NF}') --override listeners=PLAINTEXT://$(hostname -f):9092 --override advertised.listeners=PLAINTEXT://$(hostname -f):9092ports :- containerPort : 9092name : client env :- name : KAFKA_ADVERTISED_HOST_NAME valueFrom :fieldRef :fieldPath : metadata.name - name : KAFKA_ZOOKEEPER_CONNECT value : zookeeper-service-headless:2181/kafka volumeMounts :- name : data-volumemountPath : /var/lib/kafka/data - name : config-volumemountPath : /etc/kafka/volumes :- name : data-volume persistentVolumeClaim :claimName : pvc-kafka-data - name : config-volume configMap :name : kafka-configmap terminationGracePeriodSeconds: 10 dnsPolicy: ClusterFirstWithHostNet
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name:pvc-kafka-data
spec:accessModes:- ReadWriteOnce resources :requests :storage : 20Gi
这个配置将创建三个 Kafka 实例,每个实例都有自己的 PVC 存储卷和配置文件。StatefulSet 会按照 kafka-0
、kafka-1
、kafka-2
的顺序为 Pod 分配唯一的 hostname 和 network identity。我们可以使用 DNS 来访问这些实例:
PLAINTEXT://kafka-0.kafka-service-headless.default.svc.cluster.local:9092
PLAINTEXT://kafka-1.kafka-service-headless.default.svc.cluster.local:9092
PLAINTEXT://kafka-2.kafka-service-headless.default.svc.cluster.local:9092
这样,我们就成功地使用 Kubernetes StatefulSet 部署了一个 Kafka 集群。
六,StatefulSet部署Mysql集群
在 Kubernetes 中使用 StatefulSet 部署 MySQL 集群需要注意以下几个方面。
- 创建一个 ConfigMap
ConfigMap 可以用来存放 MySQL 的配置文件,例如 my.cnf
等。在创建 ConfigMap 时可以指定这些配置文件的内容,例如:
apiVersion: v1
kind: ConfigMap
metadata:name: mysql-configmap
data:my.cnf: |[mysqld]server_id=1log-bin=mysql-bin binlog_format=row datadir=/var/lib/mysql
- 创建一个 Headless Service
为了让每个 MySQL 实例都有唯一的 hostname 和 network identity,我们需要创建一个 Headless Service 来分配独立的 hostname。
apiVersion: v1
kind: Service
metadata:name: mysql-service-headless
spec:ports:- name : client port : 3306 targetPort : client clusterIP : None selector :app : mysql
- 创建一个 StatefulSet
下面是一个简单的 MySQL StatefulSet 配置示例,其中 replicas
指定了副本数,serviceName
指定了使用的 Headless Service 名称,volumeClaimTemplates
定义了每个 Pod 使用的 PVC。
apiVersion: apps/v1
kind: StatefulSet
metadata:name: mysql-statefulset
spec:serviceName: mysql-service-headless replicas: 3 selector:matchLabels:app: mysql template:metadata:labels:app: mysql spec:containers:- name : mysql image : mysql:5.7env :- name : MYSQL_ROOT_PASSWORD value : root - name : MYSQL_ALLOW_EMPTY_PASSWORDvalue: "yes"ports :- containerPort : 3306name : client volumeMounts :- name : data-volumemountPath : /var/lib/mysql - name : config-volumemountPath : /etc/mysql/volumes :- name : data-volume persistentVolumeClaim :claimName : pvc-mysql-data - name : config-volume configMap :name : mysql-configmap terminationGracePeriodSeconds: 10 dnsPolicy: ClusterFirstWithHostNet
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name:pvc-mysql-data
spec:accessModes:- ReadWriteOnce resources :requests :storage : 20Gi
这个配置将创建三个 MySQL 实例,每个实例都有自己的 PVC 存储卷和配置文件。StatefulSet 会按照 mysql-0
、mysql-1
、mysql-2
的顺序为 Pod 分配唯一的 hostname 和 network identity。我们可以使用 DNS 来访问这些实例:
mysql://root@mysql-0:mysql-service-headless.default.svc.cluster.local/
mysql://root@mysql-1:mysql-service-headless.default.svc.cluster.local/
mysql://root@mysql-2:mysql-service-headless.default.svc.cluster.local/
这样,我们就成功地使用 Kubernetes StatefulSet 部署了一个 MySQL 集群。
相关文章:
在CSDN学Golang云原生(Kubernetes Pod 有状态部署)
一,StatefulSet部署MongoDB集群 Kubernetes StatefulSet 是 Kubernetes 中的一种资源类型,它能够保证有状态服务(Stateful Service)的唯一性和顺序部署,适用于需要持久化存储、网络标识、状态管理等场景。MongoDB 是一…...
sql-从一个或多个表中向一个表中插入 多行
INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需 要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入 多行。 基本语法格式如下: INSERT INTO 目标表…...
ElementUI 实现动态表单数据校验(已解决)
文章目录 🍋前言:🍍正文1、探讨需求2、查阅相关文档([element官网](https://element.eleme.cn/#/zh-CN/component/form))官方动态增减表单项示例3、需求完美解决4、注意事项 🎃专栏分享: &#…...
Linux上定位线上CPU飙高
【模拟场景】 写一个java main函数,死循环打印 System.out.println(“111111”) , 将其打成jar包放在linux中执行 1、通过TOP命令找到CPU耗用最厉害的那个进程的PID 2、top -H -p 进程PID 找到进程下的所有线程 可以看到 pid 为 94384的线程耗用cpu …...
06-行向量列向量_向量的运算 加法,数乘,减法,转置
行向量和列向量 行向量是按行把向量排开(横着来写), 列向量是按列把向量排开(竖着来写) 在数学中我们更多的把数据写成列向量,在编程语言中更多的把数据存成行向量! 如果想在编程语言中把行向量转化成列…...
基于Matlab实现最大类间方差阈值与遗传算法的道路分割(附上完整源码+图像+程序运行说明)
道路分割是计算机视觉和图像处理中的一个重要任务,它在交通监控、自动驾驶和地图制作等领域具有广泛的应用。其中,最大类间方差阈值和遗传算法是道路分割中常用的方法之一。本文将介绍如何使用Matlab实现最大类间方差阈值与遗传算法进行道路分割。 文章目…...
13.4.2 【Linux】sudo
相对于 su 需要了解新切换的使用者密码 (常常是需要 root 的密码), sudo 的执行则仅需要自己的密码即可。sudo 可以让你以其他用户的身份执行指令 (通常是使用 root 的身份来执行指令),因此并非所有人都能够…...
电脑软件:键盘按键修改器——keytweak使用介绍
对你的电脑键盘的布局不满意、键盘上的某个按键坏掉了等等键盘问题如何解决?有了KeyTweak这一切就可以轻松解决了,KeyTweak是一个免费软件程序,使用它可让你重新映射键盘键。如果您改变主意并想将其改回原样,只需点击一下即可容易…...
软件工程学术顶会——ICSE 2023 议题(网络安全方向)清单与摘要
按语:IEEE/ACM ICSE全称International Conference on Software Engineering,是软件工程领域公认的旗舰学术会议,中国计算机学会推荐的A类国际学术会议,Core Conference Ranking A*类会议,H5指数74,Impact s…...
【Python】jupyter Linux服务器使用
文章目录 环境使用访问 环境 pip install jupyter 使用 在你想访问的目录下执行: jupyter notebook --ip0.0.0.0jupyter 给出提示: [I 2023-07-28 14:32:43.589 ServerApp] Package notebook took 0.0000s to import [I 2023-07-28 14:32:43.597 Ser…...
element 级联 父传子
html代码例子 父组件 <el-cascaderstyle"width: 100%"change"unitIdChange":options"unitOptions"filterablev-model"formInline.unitId":props"unitProps"/></el-form-item>//改变级联传值到这个组件里面<r…...
【MTI 6.S081 Lab】Copy-on-write
【MTI 6.S081 Lab】Copy-on-write The problemThe solutionImplement copy-on-write fork (hard)实验任务Hints解决方案问题解决思考uvmcopykfreekallockpagerefcow_handlertrap 虚拟内存提供了一定程度的间接性:内核可以通过将PTE标记为无效或只读来拦截内存引用&a…...
【GO】go语言入门实战 —— 命令行在线词典
文章目录 程序介绍抓包代码生成生成request body解析respond body完整代码 字节青训营基础班学习记录。 程序介绍 在运行程序的时候以命令行的形式输入要查询的单词,然后程序返回单词的音标、释义等信息。 示例如下: 抓包 我们选择与网站https://fany…...
模电模电基础知识学习笔记汇总
来源:一周搞(不)定数电模电全集,电子基础知识 11小时 一:模电学习笔记 模电主要讲述:对模拟信号进行产生、放大和处理的模拟集成电路重点知识:常用电子元器件:电阻、电容、电感、保…...
招商银行秋招攻略和考试内容详解
招商银行秋招简介 招商银行是一家股份制商业银行,银行的服务理念已经深入人心,在社会竞争愈来愈烈的今天,招商银行的招牌无疑是个香饽饽,很多人也慕名而至,纷纷向招商银行投出了简历。那么秋招银行的秋招开始时间是多…...
【Linux】四、开发工具
一、vim 编辑器(只能写代码) 1、只关注如何写代码,不会关注代码的正确性; 2、一般写代码在Windows环境下写,而vim是Linux下相对来说功能最强的编辑器; 二、vim的操作 vim ---打开vim shift键 加 ࿱…...
前后端分离实现博客系统
文章目录 博客系统前言1. 前端1.1 登陆页面1.2 博客列表页面1.3 博客详情页面1.4 博客编辑页面 2. 后端2.1 项目部署2.1.1 创建maven项目2.1.2 引入依赖2.1.3 创建目录结构2.1.4 部署程序 2.2 逻辑设计2.2.1 数据库设计2.2.2 实体类设计2.2.3 Dao层设计2.2.3.1 BlogDao 2.2.4 D…...
面试题-TS(六):TypeScript 中的泛型是什么?
面试题-TS(6):TypeScript 中的泛型是什么? 在TypeScript中,泛型(Generics)是一种强大的特性,它允许我们在编写可重用的代码时增加灵活性。泛型使得我们可以编写不特定数据类型的代码,从而提高代…...
QT DAY4
1.思维导图 2.手动完成服务器的实现,并具体程序要注释清楚 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QTcpSocket> #include <QMessageBox> #include <QList> #include <QD…...
最新Ai创作源码ChatGPT商用运营源码/支持GPT4.0+支持ai绘画+支持Mind思维导图生成
本系统使用Nestjs和Vue3框架技术,持续集成AI能力到本系统! 支持GPT3模型、GPT4模型Midjourney专业绘画(全自定义调参)、Midjourney以图生图、Dall-E2绘画Mind思维导图生成应用工作台(Prompt)AI绘画广场自定…...
一个go的支持多语言的error自动生成插件
大家好,我是peachesTao,今天给大家推荐一个go的支持多语言的error自动生成的插件,插件主页可以访问下方链接。 在一个多语言国际化的项目中,后端接口返回给前端的错误描述也需要国际化,我们来看一下后端给前端返回多语…...
wireshark抓包新手使用教程(超详细)
一、简介 Wireshark是一款非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息。 为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。 wireshark能获取HTTP,也…...
平均列顺序对列排斥能的影响
( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由5张二值化的图片组成,让A有6个1,B有4个1,并且让这10个1的位置没有重合。比较迭代次数的顺序。 其中有9组数据 差值结构 A-B 迭代次数 构造平均列 …...
微信小程序-处理ios无法播放语音的问题
背景 框架:tarovue3 问题:今天搞小程序语音播放功能,开放工具播放正常,但是到ios手机上调试时无法播放,在网上找到个好办法 解决方案 核心代码 Taro.setInnerAudioOption({obeyMuteSwitch: false // 解决有一些IOS无…...
区块链 2.0笔记
区块链 2.0 以太坊概述 相对于比特币的几点改进 缩短出块时间至10多秒ghost共识机制mining puzzle BTC:计算密集型ETH:memory-hard(限制ASIC) proof of work->proof of stake对智能合约的支持 BTC:decentralized currencyETH:decentral…...
深入理解Vue响应式系统:数据绑定探索
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
web流程自动化详解
今天给大家带来Selenium的相关解释操作 一、Selenium Selenium是一个用于自动化Web浏览器操作的开源工具和框架。它提供了一组API(应用程序接口),可以让开发人员使用多种编程语言(如Java、Python、C#等)编写测试脚本&…...
什么是框架?为什么要学框架?
一、什么是框架 框架是整个或部分应用的可重用设计,是可定制化的应用骨架。它可以帮开发人员简化开发过程,提高开发效率。 项目里有一部分代码:和业务无关,而又不得不写的代码>框架 项目里剩下的部分代码:实现业务…...
什么是 Sass?
Sass 介绍 什么是 Sass? 官方标语 世界上最成熟、最稳定、最强大的专业级 CSS 扩展语言。怎么理解这句话呢?我们平时写的 CSS 代码可以理解为静态样式语言,而 Scss 就是动态样式语言,何为动态?就是让你写 CSS 跟写 …...
Kotlin~Memento备忘录模式
概念 备忘录模式是一种行为型设计模式,用于捕获和存储对象的内部状态,并在需要时将对象恢复到之前的状态。 备忘录模式允许在不暴露对象内部实现细节的情况下,对对象进行状态的保存和恢复。 角色介绍 Originator:原发器&#x…...
简约大气网站欣赏/如何让新网站被收录
cookie,localStorage,sessionStorage 相同点:cookie,localStorage,sessionStorage都是在客户端保存数据的,存储数据的类型:都是字符串。 不同点: 1、生命周期: 1&…...
服务器有了网站怎么做的/客户关系管理
Oracle 11g 单实例静默安装实战记录(linux),oracle11goracle 11g 单实例静默安装AURHOR:Oracle_Ran环境规划:OS Version : Red Hat Enterprise Linux Server release 6.7 (Santiago)Oracle Version: 11.2.0.4操作系统环境配置可参考Oracle 单…...
怎样查看别人的网站是怎么建设/游戏优化是什么意思
做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握。 1、传递任意数量的函…...
网站名字/全网推广外包公司
1、打开数据库 1.1、打开数据库,执行如下查询语句,查询单个表的语句 SELECT COLUMN_NAME 代码, COLUMN_COMMENT 名称, COLUMN_TYPE 数据类型, false as 是键, COLUMN_COMMENT 注释 FROM INFORMATION_SCHEMA.COLUMNS where -- wx 为数据库名称,…...
做一个app需要多少钱一个/博客seo怎么做
#include <stdio.h> #include <stdlib.h> #include<time.h> #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0#define MAXSIZE 20 /* 存储空间初始分配量 */ typedef int ElemType; /* ElemType类型根据实际情况而定,这里假设为in…...
网络广告投放渠道/临沂seo
关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material ,...