4 九品神元师

尚未进行身份认证

我要认证

AI平台、分布式存储、分布式计算、微服务

等级
TA的排名 3w+

Mongodb安装

安装过程1.到mongodb官网下载对应系统的压缩包,我下载的是mongodb-linux-x86_64-rhel70-4.0.9.tgz2.创建一个工作目录,如db,解压安装包 tar -zxvfmongodb-linux-x86_64-rhel70-4.0.9.tgz3.在解压后的目录创建一个data目录,用来保存数据4.在解压后的目录创建一个log目录,用来保存日志5.在解压后的目录创建一个etc目录,用来保存配置文件,在etc中创建mongodb.conf文件,内容如下:.

2020-05-27 15:00:40

全局ID生成器

snowflake的结构如下(每部分用-分开): 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年),然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点) ,最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)一共加起来刚好64...

2020-05-24 15:12:30

跳表SkipList(go语言实现)

网上找到一个开源的代码https://github.com/AceDarkknight/ConcurrentSkipList数据结构我们用 ConcurrentSkipList 这个数据结构代表整个 skip list,可以看到里面是一个包含多个 skipList 的切片。// ConcurrentSkipList is a struct contains a slice of concurrent skip list.type ConcurrentSkipList struct {

2020-05-23 16:50:30

跳表SkipList

跳表是redis的一个核心组件,也同时被广泛地运用到了各种缓存地实现当中,它的主要优点,就是可以跟红黑树、AVL等平衡树一样,做到比较稳定地插入、查询与删除。理论插入查询删除的算法时间复杂度为O(logN)。什么是跳表 链表,相信大家都不陌生,维护一个有序的链表是一件非常简单的事情,我们都知道,在一个有序的链表里面,查询跟插入的算法复杂度都是O(n)。我们能不能进行优化呢,比如我们一次比较两个呢?那样不就可以把时间缩小一半?同理,如果我们4个4个比,...

2020-05-23 16:36:04

查看进程占用的句柄数

查看进程占用的句柄数linux下查看进程占用句柄数:ls -l /proc/进程ID/fd | wc -l

2020-04-14 16:53:07

分布式图片存储-1

搞AI应用的基本都会涉及到图片存储,特别是AI在安防行业的应用,基本都需要满足100亿级别的图片存储系统。需求大概是:写非常多而且频繁 读相对不是很多(访问长尾效应) 修改基本没有 删除非常少 需要支持循环删除(按时间删除,保留最新的,删除最老的)背景由于目录文件多了非常慢,所以根据文件名 hash 头几位,建立 00-FF 好多目录,来打散这些文件的存储。目录定位本身也是需...

2020-03-30 19:18:58

linux系统函数posix_fadvise

posix_fadvise是linux上对文件进行预取的系统调用,其中第四个参数int advice为预取的方式,主要有以下几种:POSIX_FADV_NORMAL 无特别建议 重置预读大小为默认值POSIX_FADV_SEQUENTIAL ...

2020-03-21 15:58:47

keepalived启动报错 Configuration file '/etc/keepalived/keepalived.conf' is not a regular non-executable

keepalived启动报错如下:报错如下Configuration file '/etc/keepalived/keepalived.conf' is not a regular non-executable file解决方式更改 /etc/keepalived/keepalived.conf文件权限,命令如下:chmod 644 /etc/keepalived/keep...

2020-01-09 10:08:07

lvs+keepalived安装

本文主要记录下lvs和keepalived安装配置以及使用。主机ip 角色 安装软件 10.135.112.92 Lvs+keepalived MASTER Ipvsadm keepalived 10.135.112.91 Real server 测试用web服务 10.135.112.199 VIP 一、安装LVS10...

2020-01-09 09:12:03

Mysql-安装

linux安装mysql5.7.25在linux 系统中mysql配置文件的读取顺序为:/etc/my.cnf/etc/mysql/my.cnf/usr/local/mysql/etc/my.cnf~/.my.cnf第一步 创建mysql用户groupadd mysqluseradd -g mysql -d /home/mysql mysqlmkdir /var/lib/...

2020-01-08 08:42:43

docker-Dockerfile

Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。Dockerfile的基本结构Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。如下:FROM mysql:latest#作者信息...

2020-01-07 18:23:00

docker命令

1、下载镜像docker pull centos 2、查看已经下载的镜像docker images[root@rs-dev-facego01 mysql]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmysql ...

2020-01-07 17:47:37

linux查看端口被哪个进程占用

1、lsof -i:端口号2、netstat -tunlp|grep 端口号都可以查看指定端口被哪个进程占用的情况[root]# netstat -tunlp|grep 12345tcp6 0 0 :::12345 :::* LISTEN 175894/./xqplatform ...

2019-11-23 22:59:07

go随聊- chan使用(close关闭通道)

chan不需要显示关闭(close),只要没有goroutine持有channel,相关资源会自动释放。chan最好是发送端调用close,此时读取端会收到一个空消息,如下:ch:=make(chan string,1)go func(){ for{ i:=<-ch if i==""{ fmt.Println("通道被close") break }els...

2019-11-22 19:22:50

限流算法

计数器算法计数器算法是限流算法里最简单也是最容易实现的一种算法。比如某个接口我们1分钟的访问次数不能超过100个。那么我们可以设置一个计数器counter,每当一个请求过来的时候,counter就加1,如果counter的值大于100并且该请求与第一个请求的间隔时间还在1分钟之内,那么说明请求数过多;如果每到1分钟间隔counter就清0重新计数,具体算法的示意图如下:这个算法虽然简单...

2019-11-01 15:15:43

linux查看系统类型和版本

首先大致普及下linux系统的版本内容。1.内核版本和发行版本区别我的理解,内核版本就是指linux中最基层的代码,版本号如Linux version 3.10.0-327.22.2.el7.x86_64发行版本就是在某版本内核的基础上加了发行商自己想加进去的很多软件代码,比如CentOS Linux release 7.2.1511 (Core)2.redhat和centos...

2019-10-14 15:28:07

设计模式可以增加系统的可扩展性

工厂模式抽象工厂模式观察者模式:很方便增加观察者,方便系统扩展模板方法模式:很方便的实现不稳定的扩展点,完成功能的重用适配器模式:可以很方便地对适配其他接口代理模式:可以很方便在原来功能的基础上增加功能或者逻辑责任链模式:可以很方便得增加拦截器/过滤器实现对数据的处理,比如struts2的责任链策略模式:通过新增策略从而改变原来的执行策略...

2019-10-11 19:23:38

如何设计高可用系统

设计建议减少单点– 去单点首先要识别整个系统所有主链路的单点,如机房(同城异地双机房),应用服务器,DNS服务器,SFTP服务器,LBS,缓存服务器,数据库,消息服务器,代理服务器和专线等,如系统通过专线调用对方服务,需要考虑同时拉联通和电信的专线,联通或电信的专线还是有一定概率会出现问题的,但是同时出问题的概率会小非常多。优先使用软负载,使用硬负载兜底。 减少依赖– 减少DNS依赖,减...

2019-10-11 17:51:06

如何将Win7做为NTP服务器

将计算机作为NTP服务器,可以让其他设备以该设备为时间基准进行时间校正,比如我当前的应用是目标板上有时钟芯片进行计时,但是由于目标板面积有限,无法在板上布置纽扣电池,所以上电时需要利用时钟基准对其进行校正,因此利用一台计算机作为NTP服务器。 修改注册表项 HKEY_LOCAL_MACHINE—>SYSTEM—>CurrentControlSet—>Services—&...

2019-06-26 14:34:26

go随聊-golang官方实现如何对httpserver做频率限制(最大连接数限制)

一般海量处理服务,都会对服务做个最大连接数限制,超过该限制之后,拒绝服务,避免发生雪崩,压坏服务。使用golang来编写httpserver时,如何进行呢?官方已经有实现好的包。使用示例:import("golang.org/x/net/netutil")l, err := net.Listen("tcp", "127.0.0.1:0")if err != nil { ...

2019-05-30 17:04:41

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。