- 博客(218)
- 资源 (4)
- 收藏
- 关注
原创 一分钟快速实现Flask框架与SQLAlchemy框架的整合
本文详细介绍了如何将Flask框架与SQLAlchemy框架进行整合。整体来说还是比较 简单,另外本文中的项目结构比较清晰,适合于在正式的项目中运用。需要注意的是:项目启动之后,我们还不能直接运行增删改查的方法。还需要创建一个视图类。
2021-01-12 11:28:32
22
原创 活到老学到老之《终身学习》
您好,我是码农飞哥,感谢您阅读本文!今天周末,我们不聊技术,不写代码。看一本小书来给生活加点颜色,今天看的书是《终身学习》。
2021-01-09 20:49:31
32
4
原创 两分钟了解Python之SQLAlchemy框架的使用
本文首先介绍了SQLAlchemy框架的安装,接着介绍了如何通过该框架对数据库表进行增删改查,重点介绍了常用查询,查询的方法众多,其中使用最多的方法就是filter方法,我们的查询条件都是通过该方法传入的。希望对读者朋友们有所帮助。
2021-01-08 22:47:29
22
原创 廖雪峰课后作业-利用os模块编写一个能实现dir -l输出的程序
当前目录利用os模块编写一个能实现dir -l输出的程序。gen = [x for x in os.listdir('.')]print(gen)运行结果:编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。def gci(filepath): files = os.listdir(filepath) for fi in files: fi_d = os.path.join(filepath, fi)
2021-01-04 19:30:58
14
原创 Ceph实战(十):Pool与PG的说明以及Ceph的IO流程
本文首先对存储池(pool)做了一个基本介绍,存储池是Ceph存储数据时的逻辑分区,每个pool内部都包含一定数量的PG,接着对PG(Placement Group)做了一个介绍,PG中文名是归置组的意思,可以将PG看做一个逻辑容器,这个容器包含多个对象,同时这个逻辑对象映射多个OSD上。接着介绍了Ceph的IO流程图。其流程有七步,再介绍了Ceph IO算法流程,其流程主要是三步映射。最后,介绍了Ceph操作Pool的常用命令。
2020-12-27 19:59:19
32
原创 Ceph实战(九):Ceph的核心组件的介绍(基于nautilus版本)
本文主要介绍了Ceph集群的核心组件,重点介绍了RADOS,mon以及OSD这几个组件。其中RADSO是Ceph集群的核心,相当于Ceph集群的大脑,其提供了Ceph集群所有的优秀特性,其里面的组件mon充当的是监视器的功能,OSD充当的是存储器的功能。
2020-12-26 20:14:07
37
原创 Ceph实战(八):Ceph对象存储的Amazon S3接口的使用(!重点介绍分片上传接口)(基于nautilus版本)
本文重点介绍了Amazon S3的SDK的使用,通过该SDK,我们可以直接创建存储桶,并且向存储桶上传文件,同时该接口还支持文件分片上传,断点续传等等功能。
2020-12-24 20:50:00
60
原创 万字长文简单明了的介绍xxl-job以及quartz
本文首先对xxl-job做一个基本的介绍,接着将xxl-job与quartz做一个比较,最后就是介绍xxl-job调度过程做了一个详细介绍,xxl-job是一个上手很容易,适用于分布式场景下使用,调度中心和执行器分开部署,减少了系统的耦合以及调度中心的调度效率。最重要的是xxl-job对任务的过期处理以及阻塞处理策略设计的比较好。
2020-12-24 11:28:03
74
原创 Ceph实战(七):Ceph对象存储的基本概念,使用以及优点(基于nautilus版本)
本文详细介绍了Ceph对象存储的基本概念,使用以及其优点。Ceph对象存储是Ceph集群的标配,在生产上基本是通过Ceph对象存储来存储文件的,这是因为其读写性能良好有共享性并且可以通过HTTP协议的接口操作。其原理就是用户使用RGW对象网关入口,采用HTTP协议,通过RESTful的形式进行文件的上传和下载,也可以进行存储桶的创建和删除操作等。当然,前提是我们要在Dashboard上启动RGW。
2020-12-15 22:51:43
139
原创 Ceph实战(六):Ceph文件系统的基本概念,使用以及特点(基于nautilus版本)
本文首先介绍了Ceph文件系统的基本概念,Ceph文件系统接口符合POSIX标准,用户可以像使用本地存储目录一样使用Ceph的文件系统的挂载目录,就是说你不需要修改你的程序就可以将程序的底层存储换成空间无限并可多处共享读写的Ceph文件系统。它优秀的共享性弥补了Ceph的块设备接口在共享性方面的不足。接着介绍了Ceph文件系统的创建以及挂载,其过程跟块设备类似,用户机上都需要安装相应的操作客户端。最后就是介绍了Ceph文件系统的特点。
2020-12-13 21:12:34
44
原创 Ceph实战(四):用docker搭建Ceph集群问题整理(基于nautilus版本)
本文主要介绍了在部署Ceph集群时碰到的一些常见问题。这些问题具有很强的通用性,像mon镜像重启失败的`Existing mon, trying to rejoin cluster abort`这个问题就是一个很通用的问题,基本上重启mon镜像时就会碰到,所以,掌握这些常见问题的处理方法还是很有必要。docker的版本和ceph的版本都要与文档保持一致。重启容器时提示容器 already existsfailed to fetch mon config (--no-mon-config to skip)
2020-12-13 15:05:17
47
原创 Ceph实战(五):Ceph的块设备基本概念,创建以及其特点(基于nautilus版本)
本文主要介绍了Ceph的三种存储方式之一:块设备,首先介绍了块设备的基本概念,它可以理解成一块硬盘,用户可以直接使用不含文件系统的块设备,也可以格式化成特定的文件系统,由文件系统来组织管理存储空间,从而为用户提供了丰富而友好的数据。接着介绍了块设备的安装以及挂载,我们可以将块设备挂载到用户机的某个目录下。对该目录的读写就相当于操作块设备的实际区域,Ceph块设备读写性能良好,但是不能多处挂载,不具备共享性。
2020-12-13 13:41:17
81
原创 Jmeter的使用总结
本文对Jmeter的使用做了一个简单的总结,中间介绍了一下压测一个HTTP接口所需要用到的常用组件。熟练运用这几个组件就可以比较轻松的应对压测需求。压测设置的顺序 设置线程组--->设置HTTP请求--->设置HTTP请求头---->设置聚合报告--->设置察看结果树。
2020-12-07 21:10:48
43
原创 Ceph实战(三):用docker搭建Ceph集群(基于nautilus版本)
本文介绍了通过docker部署ceph集群的详细步骤,本文只是启动了核心的必要的组件,一共有 mon,osd,mgr,rgw四个组件,其中mon,osd,mgr组件是必须要启动的,rgw组件是作为对象存储的网关系统,如果不用对象存储的话则不需要启动该组件,其他的组件入mds也只是cephFS才需要用到。后面文章会详细介绍这些组件的作用,本文主要是将集群搭建起来。
2020-12-01 12:20:15
154
9
原创 Ceph实战(二):用docker搭建Ceph集群之docker的基本概念以及操作
本文首先介绍了容器的基本概念,容器说白了就是隔离环境中的一个进程,容器内的任何操作都不会对宿主机产生影响。接着比较了容器虚拟机与KVM虚拟化的区别。两者最重要的区别是,容器虚拟化不需要硬件支持,不需要安装Hypervisor。而KVM虚拟化则需要。接着就是介绍了Docker的安装以及常用命令。
2020-11-29 21:53:14
108
原创 Redis09-Redis事务
本文简单介绍了Redis事务并将其与MySQL事务做了一下对比。Redis事务只有一致性和隔离性两种特性,不支持原子性和持久性。其实现原理是基于COMMANDS队列的,开启事务之后,命令不会被立即执行,而是排入队列并返回排队状态。
2020-10-07 22:29:01
36
原创 WebSocket接口初体验
本文简单首先介绍了WebSocket的基本概念和相关特点,WebSocket是一个全双工通信的协议,它支持客户端向服务端发送消息, 也支持服务端想客户端发送消息, 一次握手,可以多次发送消息。接着就是介绍了在SpringBoot中如何整合WebSocket的相关功能。实现了一个服务端和客户端。
2020-10-03 11:45:12
279
原创 Redis07-Redis键过期时间设置以及过期键删除策略
本文主要从Redis键过期时间的设置,过期时间的保存以及过期键的删除策略四个方面对Redis中键过期时间进行了阐述。
2020-09-17 19:21:52
49
原创 Redis06-Redis的数据库与键空间
本文主要是参考《Redis的设计与实现第二版》写的一篇关于Redis的数据库以及数据库键空间的文章。单机的Redis服务器默认有16个数据库,对数据库的操作本质上就是对键空间的操作。
2020-09-17 17:25:00
38
原创 Spring Cloud 学习笔记06-02----用Hystrix来限流以及进行服务隔离
本文主要首先介绍了Hystrix的工作流程,然后介绍了Hystrix的两种隔离策略,主要是线程池的隔离策略以及信号量的隔离策略,默认的话是线程池的隔离策略,该策略可以应对突发流量。接着就是介绍了Hystrix的基本配置,其配置主要是通过`@HystrixCommand`注解来配置的。配置按照功能划分有Command的配置,熔断器(circuitBreaker)的配置以及线程池(threadPool)的配置。最后就是通过一个简单的demo来实际使用Hystrix。
2020-09-15 17:13:37
43
原创 Redis05-Redis的数据结构之整数集合
当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现,它可以保存的类型为int16_t、int32_t或者int64_t的整数值,集合中不允许有重复元素,Redis除了支持集合内的增删改查,同时还支持多个集合的交并集操作,合理地使用集合可以在实际开发中解决很多实际问题。
2020-09-13 21:34:36
36
原创 SpringBoot之如何自定义一个starter模块
本文完整的演示了一遍如何自定义starter模块。其实理解了自动装配的原理就很好的能自定义一个starter模块。它的工作流程无非就三步:1. Spring Boot在启动时会扫描项目所依赖的JAR包,寻找包含spring.factories属性文件的JAR包。2. 根据spring.factories配置加载EnableAutoConfiguration。3. 根据@Conditional注解的条件,进行自动配置并将Bean注入到Spring容器。
2020-08-12 20:43:04
242
原创 正向代理和反向代理以及nginx的简介
本文简单介绍了,正向代理和反向代理,以及他们的区别。我们只需要记住一点,正向代理作用在客户端,需要客户端做设置,由正向代理服务器代理客户端的请求。而反向代理的话是作用在服务端的,不需要客户端做设置,客户端请求发向代理器,由反向代理服务器来分发请求。
2020-08-11 18:48:39
69
原创 记一次线上CPU过高的问题以及处理方案
场景回溯本人所在的项目是一个支付项目,有个场景就是当用户下单之后,需要及时的知道订单的支付状态,有的渠道回调比较慢,故在用户下单之后将订单信息放入redis,然后不断的去轮询调用渠道方订单查询接口。问题复现原始版本不断的从redis中消费数据,然后调用渠道方订单查询接口查询订单状态,如果返回的状态是未支付的话,则会重新放到redis中,等待下一次在进行查询。每个订单在2分钟内可能会调用渠道方接口查询很多次,对渠道方的接口压力比较大。订单量小的时候还好,订单量大的时候,渠道方时常过来骂人,然后把我们的
2020-08-08 18:18:49
185
原创 Redis04-Redis的数据结构之跳表
本文介绍了跳跃表这种稍陌生的数据结构,跳表是基于单链表加索引的方式实现的,它是以空间换时间的方式来提升查找速度。Redis有序集合在节点元素较大或者元素数量较多时使用跳表实现,它是由zskiplist和zskiplistNode两个结构组成,其中zskiplist用于保存跳跃表信息(比如表头节点,表尾节点,长度),zskiplistNode则用于表示跳跃表节点。Redis每个跳跃表节点的层高都是1至32之间的随机数。在同一个跳跃表中,多个节点可以包含相同的分值,但是每个节点的成员对象必须是唯一,跳跃表中的
2020-08-01 19:45:40
120
原创 Redis03-Redis的数据结构之字典
本文简单的介绍了Redis中的字典的数据结构, 她是通过哈希表节点来存储键值信息,通过链表法来处理键冲突。
2020-07-30 11:22:31
54
原创 Redis02-Redis的数据结构之Redis链表
本文首先对链表的相关知识点做了一个回顾,简单的介绍了单链表,双端链表,循环链表。接着就是着重介绍了Redis中的链表结构,Redis的链表采用的是双端无环链表。通过list结构来操作链表。
2020-07-21 23:34:21
66
原创 Redis01-Redis的数据结构之简单动态字符串SDS
本文主要介绍了Redis数据库用来存储字符串对象的数据结构---简单动态字符串SDS,SDS相对于C语言传统的字符串优势明显,主要表现在杜绝缓存去内存溢出,减少字符串操作的内存重分配,二进制安全。
2020-07-18 23:55:15
105
原创 JVM09-类加载过程
这一篇我们来学习一下JVM中的类加载过程。说到类的加载过程,我们需要先了解一下JVM中类的生命周期。在JVM中类的生命周期有七个阶段。分别是:加载(Loading):加载是通过类加载器从不同的地方加载进二进制字节流验证(Verification):验证阶段是为了确保Class文件的字节流中包含的信息是否符合《JVM虚拟机规范》的全部约束要求。准备(Preparation):准备阶段是为静态资源分配内存,并赋初始值解析(Resolution) :解析阶段是Java虚拟机将常量池内的符号引用替换成直接
2020-07-06 22:21:45
92
ceph部署脚本.zip
2021-01-05
SSH框架下单元测试的实现
2017-11-04
自动生成Java代码,采用SSM框架
2017-12-26
postman测试ES restful
2019-03-03
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝