自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (5)
  • 收藏
  • 关注

转载 tcp之IO模型

5种io模型 tcp服务器分为了5种io复用模型,分别是: 阻塞io模型     非阻塞io模型 io复用 信号驱动io 异步io 本文会讲前面3种io模型的tcp服务器实现(本文只做tcp服务器实现,客户端逻辑处理,接收数据等缓冲区不做深入说明) 简单实现 首先,我们需要理解下tcp服务器的创建过程: 1:通过socket函数创建一个套接字文件 2:通过bind函数将本地一个地址和套接字捆绑 3:使用liste...

2021-03-12 18:06:13 648

转载 详解TCP之listen

int listen(int fd, int backlog);     有几个概念需要在开头澄清一下 TCP socket分两种,监听socket和传输socket两种 监听socket:负责处理网络上来的连接请求(客户端的syn包到达便是连接请求来了,如果不知道syn包,请参看一下TCP三次握手); 传输socket:负责在网络上的两个端点之间传输TCP数据。   未决socket:pending socket,就是某...

2021-03-12 17:38:50 2265

原创 十分钟搞懂https签名

一、基本概念1.1 对称加密、非对称加密、摘要算法对称加密:采用相同的秘钥进行加密和解密,如AES、DES等优点:计算量小、加密速度快、效率高缺点:需要提前协商固定秘钥、秘钥容易泄露非对称加密:加密和解密需要两个不同的秘钥:公钥和私钥,如RSA、DSA等。非对称加密采用复杂的算法,私钥加密的数据需要公钥解密;反之公钥加密的数据需要私钥解密。通过公钥解密公钥加密的数据难度极大,所以对外公开公钥相对比较安全。优点:安全缺点:速度慢,效率低摘要算法(Hash算法):是一种单向算法,用

2020-12-24 13:54:38 1391

原创 分库分表

一、介绍​ 数据库分表可以解决单表海量数据的查询性能问题,分库可以解决单台数据库的并发访问压力问题。在没有分库分表情况下当订单表数量超过1000万条以上,我们需要对订单表按照业务进行分库分表(当超过500万条数据数据库查询用索引效率大大下降)。分库分表查询:当订单页面需要根据会员姓名、手机号码、订单号、下单开始时间、下单结束时间等等,设计到多个模块一起关联查询时,采用如下方案:1.对不可变字段做冗余,方便查询。比如用户姓名在金融平台用户实名后姓名不能更改。2.根据阿里规则:各个模块不要做关联查询

2020-08-05 09:48:32 191

原创 SOA和微服务区别

SOA和微服务一、Scale Cube​ 通过上图我们发现如果对巨石型(单体架构)的应用进行扩展、性能提升可以通过三种X、Y、Z三种方式,具体如下:X轴:水平扩展能力,即通过负载均衡实现水平扩展;Y轴:应用分解,即将单体应用分解为多个模块(服务于);Z轴:数据拆分,即将数据分开存储,比如分库分表或者不同存储方式组合(oss、db、redis等);二、单体架构​ 单体架构是将所有功能都集成、部署在一个工程(应用)里面,比如web应用程序发展早期,大部分web工程是将所有功能模块打包到一

2020-08-05 09:37:04 271 1

转载 浏览器同源策略及跨域的解决方法

什么是浏览器同源策略同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说 Web 是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。它的核心就在于它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源。所谓同源是指:域名、协议、端口相同。下表是相对于 http://w...

2020-07-29 21:30:21 381

原创 LVS原理详解

​ lvs(linux virtual serverlinux虚拟机)可以帮助集群实现负载均衡。lvs由ipvsadm与ipvs两部分组成,ipvsadm是命令行管理工具,ipvs是内核模块,目前已经是netfilter的一部分。​ 当用户通过VIP和端口访问集群时,用户的请求报文会发往调度器。请求报文会先经过PREROUTING链,然后进行路由判断。由于此刻报文的目标IP为VIP,而VIP对于调度器来说就是本身的ip,所以报文会经过INPUT链,如果ipvs发现报文访问的VI

2020-07-24 17:49:44 467

原创 快速了解iptables原理

​ iptables是一个命令行工具位于用户空间,用户通过iptables这个客户端将安全设定执行到内核的netfilter模块。netfilter是linux操作系统的一个数据包处理模块,具有网络地址转换、数据包内容修改、数据包过滤等防火墙功能。一、表和链​ 链可以理解为“关卡”,数据包通过不同的关卡匹配不同的规则,然后根据规则的进行处理。如drop、accept、reject等。在centos6中INPUT的规则不能存在与nat表,但是centos7是可以的;日常

2020-07-18 23:43:38 276

原创 网络抓包工具详解

​ 在项目开发中经常会出现网络链接报错,通常的做法就是查看客户端或者服务端的日志。但是这种查日志的方式有时候更多是定位代码(服务)级别的错误,如果涉及底层一些的错误就无法定位。有时候可能日志都没有打印出来,这时候就需要进行网络抓包。​ 网络抓包通常有两个步骤,第一是获取数据包,第二是展示(分析)数据包。如果是在window平台可以直接使用wireshark或者fiddler,这两个工具都可以抓包和分析。linux下面默认是没有界面的,所以抓包使用(tcpdump),分析数据使用wireshark。一

2020-07-11 17:08:50 745

原创 IP地址详解

​ 说到网络IP地址,大家的脑海中就会出现IP地址、地址分类、子网掩码、网关、DNS、交换机等概念。要理解这些概念我们先从基本的IP地址开始。​ 要解答这些问题,先看一个日常生活中的例子。住在北大街的住户要能互相找到对方,必须各自都要有个门牌号,这个门牌号就是各家的地址,门牌号的表示方法为:北大街+XX号。假如1号住户要找6号住户,过程是这样的,1号在大街上喊了一声:“谁是6号,请回答。”,这时北大街的住户都听到了,但只有6号作了回答,这个喊的过程叫"广播",北大街的所有用户就

2020-07-11 17:02:42 2131

原创 linux系统时间同步

时间同步是利用ntp(network time protocol)协议时网络中的各个计算机时间达成同步。一、ntp服务器1. 在集群所有机器安装ntpyum install ntp2. 在server节点启动ntpsystemctl start ntpdsystemctl enable ntpd3. 修改server配置文件server 127.127.1.0 设置自身为ntp服务器,没有外网可以禁止掉其他server字段restrict x.x.x.x mask 255.2

2020-06-25 11:43:59 458

原创 SSH免登陆

SSH免登陆1.修改hostnamehostnamectl set-hostname ceph02.修改本机hostname# vi /etc/hosts192.168.1.160 hadoop01192.168.1.161 hadoop02192.168.1.162 hadoop033.生成密码(1)主机生成密码ssh-keygen -t rsacd .sshcat id_rsa.pub >> authorized_keys #id_rsa.pub公钥内

2020-06-20 12:50:44 113

转载 cookies、sessionStorage和localStorage解释及区别

在浏览器查看HTML4的本地存储 cookie浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互。一、cookie和sessioncookie和session都是用来跟踪浏览器用户身份的会话方式。区别:1、保持状态:cookie保存在浏览器端,session保存在服务器端2、使用方式:(1)cookie机制:如果不在浏览器中设置过期时间,c...

2020-06-20 12:40:36 148

原创 ceph系列四、monitor数据恢复

​ ceph作为分布式存储系统与传统的存储系统相比就是没有中心节点,也就是每次访问不需要经过中心节点分发请求或者获取路由信息等。这样做的好处就是容易扩展同时避免中心节点的瓶颈。每次请求都是client根据crush计算目标的osd,然后直接与osd进行通讯。​ monitor作为ceph的管理节点,肩负着分布式存储的数据同步管理工作、策略的管理等。其中策略就包括多种map,比如crushmap、monmap、osdmap等。当monitor发生故障时就会影响集群的数据同步,甚至

2020-06-20 11:48:14 1309

转载 图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100……

  RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。一、RAID 概述  1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 R

2020-06-04 18:44:29 588

原创 ceph系列三、可用空间计算

​ 在日常使用ceph过程中,我们常用ceph -s查看集群的状态和基本容量,也可以使用ceph df精确查看ceph的容量状态,那么两者有什么区别呢?随着集群存储文件的增多,为什么两者的呈现的可用容量会不一致,应该以那个为准。一、ceph df获取ceph pool信息​ 因为文件默认都存在data的pool,所以我们获取pool的相关信息。从结果可以看到pool只有2备份。这里因为是测试使用,生产环境建议3备份,具有更高的可靠性。[root@test-01 ~]#

2020-06-04 17:34:44 5350 1

原创 linux程序后台运行详解

一、linux常用信号SIGHUP​ 在介绍SIGHUP之前先介绍两个概念:进程组、会话进程组​ 进程组就是一系列相互关联的进程集合,系统中的每一个进程也必须从属于某一个进程组;每个进程组中都会有一个唯一的 ID(process group id),简称 PGID;PGID 一般等同于进程组的创建进程的 Process ID,而这个进进程一般也会被称为进程组先导(process group leader),同一进程组中除了进程组先导外的其他进程都是其子进程会话

2020-05-29 20:21:44 666

原创 ceph系列二、数据布局

1、RGW中三种数据类型datametadatabucket.index2、metadatauser:保存user信息bucket:维护bucket name和bucket instance id的映射bucket.instance:保存bucket instance信息1.获取元数据列表# radosgw-admin metadata list[ "bucket", "bucket.instance", "user"]2.获取指定类

2020-05-22 18:24:08 1244

原创 ceph系列一、ceph安装

1.安装源(1)安装wget,删除默认的源,国外的比较慢yum clean allrm -rf /etc/yum.repos.d/*.repo(2)下载阿里云的base源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo(3)下载阿里云的epel源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/r

2020-05-15 14:41:07 245

原创 kafka常用命令

kafka常用命令1.启动Zookeeper./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties2.启动kafka./bin/kafka-server-start.sh -daemon config/server.properties3.创建主题(1)单机./bin/kafka-topics.sh ...

2020-05-08 16:39:32 112

原创 parted分区操作

磁盘分区1.fdisk和parted区别​ fdisk只能格式化2T以下的空间,不支持gpt格式,常用parted2.parted使用交互方式(方式一)(1)将原有分区删掉 进入:parted /dev/vdb 查看:(parted) p 删除:(parted) rm 1(2)将磁盘格式变成gpt 转换:parted mklabel gpt 分区:(parted) mkp...

2020-04-30 17:16:46 249

原创 Git常用命令

安装gitlab1.更改镜像地址vim /etc/yum.repos.d/gitlab-ce.repo[gitlab-ce]name=gitlab-cebaseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7repo_gpgcheck=0gpgcheck=0enabled=1gpgkey=https://pack...

2020-04-26 17:07:20 1668

原创 事务属性、隔离级别、乐观锁、悲观锁

事务属性、隔离级别、乐观锁、悲观锁一、事务属性事务是为解决应用程序并行问题产生的,并不是数据库天生的。1、原子性(Atomicity)事务执行要么全部成功,要么全部失败。类似与二进制,并不是0就是1。2、一致性(Consistency)事务执行前后应用程序状态一致。一致性通常由上层来实现,如正常执行的逻辑关联(A发生支付动作,余额就会减少,商户余额就会增加)或者回滚中的反向操作。3、...

2020-04-15 11:27:45 139

原创 CAP、BASE、ACID区分

CAP、BASE、ACID区分一、CAPCAP是分布式计算领域的公认定理。1、一致性(Consistency)all nodes see the same data at the same time 在同一时间看见所有节点的数据是一致的所有节点返回的数据都是一样的,数据一致性,可以理解为强一致性。2、可用性(Available)Reads and writes always ...

2020-04-15 11:14:36 247

ftp命令文档

ftp命令,对ftp中的参数及相关设置的详细说明。上传下载资源的例子等。

2013-09-06

mysql安装配置设置

mysql安装配置设置; error: can't create transaction lock on /var/lib/rpm/__db.000 解决方法: rm -f /var/lib/rpm/__db.* rpm --rebuilddb yum clean all

2013-09-06

shell命令文档

shell对磁盘的容量计算。#check disk space left size=`df -m .|awk '{print $4}'|sed '1d'`

2013-09-06

数码管显示

时钟的显示由时、分、秒及冒号组成,因此我们可以用函数实现。由于时、分、秒都由两个数字组成(小于10的前面加0),因此可以再把问题分解,用另外函数来画单个数字。单个数字又该怎么画呢。看七段数码的组成,我们用1到7的标号来表示每一段

2012-09-04

MFC中 数码管显示

在现实生活中电子设备的显示数字,都是数码管形式的,所以在 VC中现数码管效果的显示!

2012-09-03

空空如也

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

TA关注的人

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