自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 房贷计算器存储过程

- 等额本金每月偿还相同金额的本金,由于剩余本金减少,每月的利息也逐月减少,因此每月的还款金额也相应递减。RAISE NOTICE '不支持的贷款类型:% ,请使用 1 或 2', p_loan_type;-- 等额本息每月以相同的金额偿还贷款本息(即每月的总还款额一致,其中利息逐月递减,本金逐月增加)RAISE NOTICE '总贷款额 %;WHEN 1 THEN '等额本息'WHEN 2 THEN '等额本金'ELSE '未知类型'RAISE NOTICE '插入成功';

2024-12-03 23:05:23 612

原创 存储过程

- 声明变量直接赋值(表中NAME类型和长度就是V_NAME的类型和长度)-- 声明记录型变量,相当于Java的对象,可以使用点加变量名获取值。-- 声明NUMBER类型的变量,后以分号结束。CREATE OR REPLACE PROCEDURE P_存储过程名(变量名 IN|OUT 数据类型) -- 存储过程名称通常以P_开头 in|out 输入参数|输出参数。V_USER := '张三';

2024-12-03 23:03:46 481

原创 redis学习1

mysql是关系型数据库 redis是kv键值存储数据库 跨平台的非关系型数据库redis五大数据类型 字符串 set集合 有序集合 列表 hash散列redis-cli 进去后ping 看是否服务启动可以远程登录redis-cli -h host -p port -a password事务 multi 开始 exec执行auth “123456” 密码验证连接到redis服务info看服务器的统计信息。

2024-12-03 23:01:59 951

原创 mysql基础学习2

每个表中的每个列都应该是不可再分的最小数据单位,即每个字段都是原子性的,不能包含多个值。确保每列只包含单一值,避免多值列导致的数据冗余和更新异常。

2024-12-03 22:37:09 511

原创 mysql基础学习1

columnName1,columnName2 为 int 型,当 columnName2 中,有值为 null 时,columnName1+columnName2=null, ifnull(columnName2,0) 把 columnName2 中 null 值转为 0。select ceil(1.5) floor(1.5) truncate(1.56,1) 结果:2,1,1.5 取整。.frm (表结构数据) .MYD (myisam存储引擎存放数据data) .MYI(索引)

2024-12-03 22:34:16 1137

原创 网络故障排查和tcpdump抓包

root@localhost ~]# iptables -t filter -A(在末尾加apppend) INPUT -p(协议) tcp -j(jump跳转) ACCEPT (放行)DROP(丢弃数据包)REJECT(拒绝)LOG。[root@localhost ~]# iptables -L(list) INPUT --line-numbers(--line显示编号)-v。renice -5 -p(进程号) 1234 每次拿20加减数字 重新调整以运行的进程的优先级。

2024-09-08 11:01:54 1442

原创 go开发 map

【代码】go开发 map。

2024-08-19 21:47:52 129

原创 数组和切片练习

【代码】数组和切片练习。

2024-08-19 21:46:17 228

原创 go文件操作

【代码】go文件操作。

2024-08-19 21:45:13 142

原创 污点和容忍 亲和性

去除污点 kubectl taint nodes node1 key:effect- 删掉的话不会自动回来 之后的可以调度# 去除所有污点 kubectl taint nodes node1 key-kubectl describe node k8s-master-1 |grep -I taint (tolerations)查看用kubeadm搭建的集群,默认就会给master节点添加一个污点标记,所以pod就不会调度到master节点上.

2024-08-12 00:22:12 826

原创 HPA 与pod调度

percent=50 --min=1 --max=10最多十台Pod 最少一台 会自动加pod 关闭以后又会自动减少pod 50的意思是平均每个Pod超过50%cpu使用率就新建一个。这与“垂直(Vertical)”扩缩不同,对于 Kubernetes, 垂直扩缩意味着将更多资源(例如:内存或 CPU)分配给已经为工作负载运行的 Pod。当新Pod准备就绪后,控制器会杀死一个旧版本的Pod,确保任何时候都有足够的健康Pod提供服务。水平pod自动扩缩:意味着对增加的负载的响应是部署更多的。

2024-08-12 00:19:10 866

原创 proxy负载均衡

过程:当应用程序使用系统调用时,会先将系统调用名称转换为系统调用号,然后将系统调用号和请求参数放到寄存器里,接着执行中断指令(如Linux中的int $0x80指令),产生一个中断,使CPU陷入到内核态。如果先前执行的指令是用户态下的程序,那么这个转换的过程也就发生了由用户态到内核态的切换。被动触发:当CPU执行运行在用户态下的程序时,如果发生了某些事先不可知的异常(如缺页异常),这时会触发由当前运行的进程切换到处理此异常的内核相关程序中,也就是转到了内核态。

2024-08-12 00:16:30 957

原创 pod探针和状态

除了上述状态,还有几个与Pod相关的子状态,可以通过kubectl describe pod <pod_name>命令查看,这些子状态提供了更详细的健康和性能信息。pcb(进程控制块):pid 、status、address: 进程存在的唯一凭证--》当探针发现pod没有运行的时候,kubelet会根据pod的重启策略,重启pod,提升了app的稳定性。pcb进程控制块:pid status address进程存在的唯一凭证。杀死僵尸进程的父进程。3种探针:探测pod里的容器是否存放、就绪、启动。

2024-08-12 00:14:25 973

原创 pod启动和终止流程,状态,生命周期

创建:kubelet在启动时或运行时,会监视特定目录(如/etc/kubernetes/manifests)下的静态Pod配置文件,并根据这些配置文件创建和管理Pod。管理:控制器负责监视集群状态,并根据需要创建、更新或删除Pod,以确保实际运行的Pod数量符合预期。动态Pod:在API Server上可见,可以通过kubectl等工具进行查看、操作和管理。4. 适用场景 静态Pod: 适用于需要在特定节点上始终运行且无需集群级别管理的应用场景,如kubelet自身的配置、网络插件或其他系统级别的组件。

2024-08-12 00:12:09 652

原创 k8s基础了解

静态pod: kubelet 根据一个配置文件启动的pod,不需要访问api server ,写到etcd数据库--》kube-proxy \calico --》管理类,基础类。[root@k8s-master-1 nginx]# kubectl delete pod nginx --grace-period=1 (1s)优雅的删除 默认30秒。任何的资源对象都有对应版本的api,api接口的程序会升级,会增加或者删除某些内容,这个时候就该新的api接口的规范起一个新的名字。

2024-08-12 00:06:49 487

原创 安装并初步使用k8s

root@k8s-master-1 ~]# kubectl describe pod calico-node-6pxcb -n kube-system 查看kube-system命名空间里的calico-node-6pxcb这个pod 的详情。metrics-server --》采集k8s集群里的资源的使用情况,例如cpu、内存的使用情况。控制平面启动的组件---》本质上是一个pod里的容器--》软件 --》管理工具。建立一个服务发布node节点里的pod,让外面的机器能够发现我们的pod。

2024-08-11 23:43:09 625

原创 k8s基本介绍

Kubernetes,也称为k8,是一个用于自动化部署、扩展和管理容器化应用程序的开源系统。使用go语言编写https://github.com/kubernetes/kubernetes目前最高版本是v1.30 https://kubernetes.io/zh-cn/Google 15 年生产环境的运维经验-->borg系统 不是开源的借鉴borg系统 ,使用go语言开发了k8s针对k8s方向的技术,统称为云原生技术 ---》CNCF --》云原生计算基金会。

2024-08-11 23:38:09 720

原创 harbor

docker-compose.yml --》配置文件 定义了如何去启动很多容器,以及容器的参数,例如:镜像,卷,链接,网络等信息。[root@docker harbor]# docker compose ps 查看harbor相关容器运行情况。k8s kubernetes : 是可以在多台机器上进行容器编排的工具 ---》集群容器编排工具。docker compose 是在一台机器上进行容器编排的工具 --》导演。在原来安装harbor的宿主机上,重新启动harbor相关的容器。

2024-07-31 01:25:01 805

原创 结合python+redis+mysql制作镜像

第8步: 再次启动一个自己制作镜像的容器,链接到redis容器 sc-redis-1是容器的名字 redis 是别名。1.在app程序代码里写上B容器对应的ip地址和端口 ---》go语言的网站。背后有一个程序一直在允许,可以提供服务,例如: 网站、数据库、文件的访问。B容器 --》提供其他服务,例如:mysql、redis服务等。容器启动起来后都有一个唯一的ip地址,但是ip地址是私网里的。修改镜像的名字,里面嵌入阿里云私人仓库的地址。A容器 --》app程序。第6步:访问容器的web服务。

2024-07-31 01:20:53 498

原创 制作镜像

go+html+mysql+redis.zip go.mod go.sum info.sql Readme.md server(是编译好的二进制程序) server.go static templates。因为我们在内网的docker宿主机上远程连接到云服务器的mysql容器里,需要一个mysql的客户端工具,需要安装mariadb软件。#进入容器会进入这个目录,工作目录,在执行镜像的时候会自动创建--》家目录 ---》docker exec。

2024-07-29 19:43:23 1190

原创 将爬虫数据写入数据库

SQLALCHEMY(更高级->支持MySQL及其他数据,支持MySQL依赖于PyMySQL)应用授权 -> python(主机)连接 mysql(主机/用户名/密码)配置:防火墙(启用) -> 规则 (允许/禁止ip,port,协议) -> 关掉。安装:yum install mariadb-server -y。在pycharm打开数据库进行连接 然后再此进行操作。演示从豆瓣网爬取电影信息 并保存到MySQL中。阿里云/腾讯云 -> 安全组。1. 在Linux机器上安装和配置好数据库。

2024-07-27 00:06:46 901

原创 卷与nfs实现多台主机容器之间的数据共享

docker 容器:容器运行起来是一个进程,进程的数据默认都在内存里,内存里的数据停电容易丢失,容器里运行的app的数据需要永久保存(持久化),存放磁盘里就可以永久保存。卷里有内容的情况:容器使用卷的时候,本质就是容器挂载了宿主机的某个文件夹到容器里,所以最开始的时候以宿主机卷里的内容为主,挂载后,卷里没有内容的情况: 只是一个空文件夹,容器启动的时候也会挂载卷的这个空文件夹,但是会把容器里的数据写到卷里。--opt device=:/sc/web 指定nfs服务器上共享的文件夹的路径。

2024-07-23 21:01:15 1168

原创 tpcc压力测试mysql和 ab压力测试云服务器

微服务(或称微服务架构)是一种云各架构方法,它把一个大的应用程序拆分成一组小的服务,每个服务都是一个单独的、独立部署的进程。4.serverless ---》直接使用人家的容器平台,将自己的程序代码租用别人的容器去运行,云厂商按照使用时长和算力来收费,企业不需要购买服务器了。(输出会重定向到test0.out 存放测试的结果) 模拟对100个仓库(-w 100),并发128个线程(-c 128),预热5分钟(-r 300),持续压测1小时(-l 3600)因此,PaaS也是SaaS模式的一种应用。

2024-07-22 23:30:16 2242

原创 docker 续 常用命令

ubuntu里的仓库文件使用不了的解决方法:1.进入仓库文件的目录2.删除 archive开头的文件3.重新下载仓库文件4.安装dockeraptapt-get 软件管理的命令 = centos里的yum/etc/apt/sources.list.d 等同于 /etc/yum.repos.d 都是用来存放仓库文件[root@docker ~]# docker exec -it sc-nginx-2 bash 进入一个容器内部。

2024-07-21 00:18:16 1955 1

原创 docker:容器技术软件

root@docker ~]# docker create -p 81:80 --name=sc-nginx-2 nginx 创建一个容器。-p 将容器发布出去,让外面的机器可以访问 publish ---》端口映射--》宿主机和容器的端口之间的一个映射 map。[root@docker ~]# docker exec -it sc-mysql-1 bash 进入容器内部。[root@docker ~]# docker start sc-nginx-2 启动容器。

2024-07-19 21:07:41 1013

原创 爬虫xpath学习和练习使用

在网站右键检查发现html不完整 去网络的xhc找源文件和url 再用xpath查找。从指定网站 右键检查 获取豆瓣书的标题 封面链接 以及评分等信息 并存放到文件。

2024-07-19 00:51:58 418

原创 DNS:domain name system服务部署

dns域名解析

2024-07-19 00:21:13 1580

原创 爬取豆瓣网读书数据

豆瓣读书

2024-07-17 01:08:46 684

原创 爬虫获取彼岸网数据

获取彼岸图网前10页的图片标题和链接 保存到csv文件。

2024-07-17 01:05:41 873

原创 豆瓣读书分析

豆瓣读书分析

2024-07-16 22:00:47 1228

原创 文件系统讲解

Restart(重启)通常是指完全停止服务,然后重新启动服务。这意味着服务会经历一个短暂的中断期,在这个期间服务是不可用的。

2024-07-15 22:06:20 1292

原创 开机启动流程

开机启动

2024-07-15 20:27:34 504

原创 keepalived 高可用

vrrp_instance VI_1 { 启动一个vrrp的实例 VI_1 实例名,可以自定义,一个实例背后就是一个keepalived相关的进程。virtual_ipaddress { --》vip的配置,vip可以是多个ip,也可以是一个vip。2.网络通信有问题:中间有防火墙阻止了网络之间的选举的过程,vrrp报文的通信。高可用-->HA High Availability --》有备份。脑裂恢复的时候,还是有影响的,会短暂的中断,影响业务的。3.认证密码不一样也会出现脑裂。

2024-07-11 18:10:22 810

原创 实现负载均衡

TCP(传输控制协议)和 UDP(用户数据报协议)是传输层的两种主要协议,它们在数据包(报文)中有一些共同的特征,尽管整体结构和目的大相径庭。TCP 和 UDP 的主要区别在于 TCP 提供了可靠的数据传输,包括数据排序、错误检测和重传机制,而 UDP 则提供了更快、更轻量级的传输,适用于对实时性和效率要求较高的应用,如视频会议、在线游戏等,但它不保证数据的可靠传输和顺序到达。IP地址只找到服务器 端口号可以送到同一台服务器上的不同程序 一个程序默认只占用一个端口号。

2024-07-10 23:24:20 2174

原创 http协议

包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。用于在客户端和服务器之间终止一个已经建立的 TCP 连接。:统一资源标识符,是一个用于标识互联网上资源的字符串。它是一种通用的框架,可以用来唯一地标识任何资源。URI 可以进一步分为 URL 和 URN(Uniform Resource Name)两种类型。

2024-07-09 23:43:06 1059

原创 nginx(engine x)

用于在系统启动完成前运行一些脚本或命令#开启自动启动编译安装的nginx当修改了服务的配置文件(通常是。

2024-07-09 00:15:59 780

原创 grafana 和mysqld_exporter

MySQLd

2024-07-09 00:13:36 1265

原创 Prometheus

Prometheus

2024-07-09 00:10:22 1151

原创 ansible 及其组成解释

7.编写一个脚本backup_file.sh 实现备份/etc/passwd和/etc/shadow文件到/backup下,文件名里包含当天的日期,例如2019-7-10-passwd_shadow.tar.gz 添加一个计划任务,每天的5:30去执行,在所有的node节点服务器上实施。不是必须得,可以script模块,去执行脚本也可以达到playbook的效果,批量在很多机器同时执行很多的任务。2.修改nginx的配置的端口号9900。playbook是Ansible的配置,部署和编排的语言。

2024-07-09 00:02:54 767

原创 安装MySQL服务器,部署MySQL软件

root@web-1 web]# scp info.sql(数据库服务器) 192.168.205.136:/root。-uroot 指定用户 user -p 指定密码 password。可以添加学生信息 可以在mysql里的user表看到。重新登录加载新的PATH--》有mysql命令路径。修改网站的server.go的数据库连接地址。mysql连接和 Redis 连接。访问web网站 就可以连上了。

2024-07-08 23:59:18 1038

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除