2 Hanani_Jia

尚未进行身份认证

暂无相关描述

等级
TA的排名 1w+

Raft协议介绍

Raft是一个分布式协议,现在随着用户的增多一台机器来运算后台数据已经不足及支撑当前软件后端的运算量,所以就有了分布式的概念,可是分布式中有一个最大的问题就是他的高可用性,或者说高一致性,比如说我现在有一张银行卡卡里有余额一千元,然后现在在一台atm机上取钱,这时候我们访问了银行后台的一台服务器,atm吐出了五百元给我,这时候服务器后台的数据我的卡内余额应该是五百元,但是由于银行有很多台服务...

2019-03-25 17:38:04

Redis

 最近接触了Redis数据库,这里对Redis进行一个简单的介绍。 Redis是一个广泛被使用的高性能的存储系统,它具有一下特点:1.存储在内存中,所以读写性能非常高2.由C编写而成,所以跨平台支持的性能非常高3.使用kv存储,同时支持多种数据类型操作,并且其中key是二进制安全的,也就是说所有的二进制序列都可以作为key从字符串甚至到图片内容都可以 4.redis是单线程的,...

2019-02-26 16:42:40

WebSocket 介绍

WebSocket介绍 今天想给大家介绍一下WebSocket技术,在说他之前就不得不先说一下我们当前的HTTP协议,WebSocket和我们现在的HTTP几乎是没有关系的,但是他们两个还是有一部分交集的WebSocket是在HTML5下的一种新的协议,但是他和http一样都是基于tcp/ip的。所以他就有了一写http协议的特性,这两个都是应用层的协议,并且因为他们都是基于TCP...

2019-02-25 14:33:48

gorm

今天接触了orm的概念。orm全程objectrelationmapping对象映射关系,这到底是做什么的呢?orm是为了解决面向对象和关系数据库之间存在的互不匹配的现象的技术,c++里边我们经常说面向对象,也就是说我的操作都是可以看成以某个对象为基础,让这个对象进行一系列的操作,但是当我们在程序中进行数据库操作的时候,确实在和复杂的sql打交道,我们在程序中操作数据库的时候是通过一些库...

2019-02-17 20:26:28

http 网关 熔断和限流

公司内部很多rpc调用都需要经过gateway是为了保护后端这里有两个常见的操作一个是熔断一个是限流。gateway还能实现很多比如服务的黑名单白名单防止攻击灰度控制等等。这里主要就是介绍熔断和限流。什么是熔断?其实熔断这个词不仅仅是在计算机领域会出现,在很多地方都有熔断的概念,熔断是为了保护后端,比如说我们当前有两个服务一个是qq群音频通话服务一个是qq群服务,这两个服务都是由...

2019-02-17 17:01:57

go语言学习 五

第一个就是还是重启电脑然后在输入密码的时候不要输入按住shift和关机那的重启按钮会进入安全操作界面,里边有一个疑难解答进去,然后在里边找到高级选项里边有一个启动设置,然后点重启,刚刚让你按的是4或者f4选的是安全模式,你现在看里边有没一个模式叫做启动带网络连接的安全模式,然后按他对应的序号如果说有并且进去了,那就先这么用能上网但是我也不确定什么东西会受到限制遇到问题了再说...

2019-01-23 16:57:07

go语言学习 四

 1packagemain                                                                      2                                                                                  3import"fmt"          ...

2019-01-22 21:12:26

go语言学习 三

 昨天我们讲到了切片,切片可以用内奸函数make来创建,同样也是创建动态数组的方式,make函数会分配一个元素为零值的数组并返回一个引用了它的切片,一般来说make有两个参数,第一个是你要切片的数据,第二个是要切片的长度,如果需要指定它的容量就需要传入第三个参数,切片可以包含任何类型,甚至包括其他的切片,理解起来就是数组可包含数组就是二维的数组,二维的切片。 在访问切片的时候除了单纯的...

2019-01-21 19:30:33

go语言学习 二

Go语言里和c语言一样也有指针的概念 variint=1varpInt*int=&i//输出:i=1     pInt=0xf8400371b0       *pInt=1fmt.Printf("i=%d\tpInt=%p\t*pInt=%d\n",i,pInt,*pInt)*pInt=2//输出:i=2     pInt=0xf8400...

2019-01-20 19:55:50

go语言学习 一

Go语言学习1.包每个go语言程序都是由包来构成的,程序从main包开始运行,packagemainimport(    "fmt"    "math/rand")funcmain(){    fmt.Println("Myfavoritenumberis",rand.Intn(10))}每个程序都是从main包开始运行的,这个程序我们引...

2019-01-18 17:59:55

rpc im机制和网络优化

什么是rpc? remoteprocedurecall远程过程调用,简单的来说,我们现在实现了一个计算器的程序,通常我们会把这个计算器封装成一个函数,当我们想要计算的时候只需要把我们的参数传给计算器函数,把我们要处理的两个数据和我们要进行的操作传输过去,之后用一个返回值来把计算的结果返回给我们,但是这一整个流程都是在我们本地计算机上实现的,远程过程调用通俗的来说就是主函数运行在我当前的机...

2019-01-17 21:06:53

数据库--内置函数

在数据库中有很多内置的函数。比如获得当前时间,甚至还可以在数据库内进行时间的加减操作。可以通过date_add和date_sub来完成堆某个时间的加减天数操作。还可以求两个日期之间的差值。可以在进行插入的时候直接调用内置函数。创建一个留言表,表中包括主键自增长id,以及留言内容,发送时间三个字段。当插入时间的时候调用now内置函数。可以在查询的...

2018-12-25 11:06:34

数据库--基本查询

      对于数据库的查询操作是数据库里边最重要的部分。创建一个goods商品类,插入两条数据。如果查看表中所有数据的话,可以通过select*from表名来查看某一个表中的所有数据。如果说想要批量修改数据库中某个表中某个字段的所有数据可以通过update语句来完成如果说只是想对某一个数据的某个字段进行修改,就要加上筛选语句,甚至还可以对一些整型的数据进行...

2018-12-23 20:13:48

数据库--表的约束

   之前我们介绍了数据的类型,今天我们主要介绍数据库中表的约束,虽然数据类型对我们的数据进行了一定程度的约束,但是那些约束很单一,很多情况还是难以处理,所以就有了表的约束。对于表的约束主要有:null、notnull、default、comment、primarykey、auto_increment、uniqukey。  这里我们一一进行介绍,首先是null和notnull,通过字面...

2018-12-23 11:44:20

数据库--数据类型

   数据库和我们平时编程是相同的也有不同的数据类型,这次我们对数据库中的数据类型进行一下介绍。这里我们创建了数据项num的类型是tinyint,这里的int类型只能存储-128到127范围内的数据,也就是和C程序中的char类型存储范围是一样的,这里当我们插入1的时候自然没有问题,但是当我们插入128的时候会有警告,这里不同的数据库会因为配置不同有不同的反应。如果是这样显示的说...

2018-12-17 21:03:45

数据库--表的基础操作

   这次我们介绍数据库中对表的一些基本操作。通过语句:CREATETABLEtable_name(field1datatype,field2datatype,field3datatype)characterset字符集collate校验规则engine存储引擎;来创建表。字符集、校验规则都可以不指定,不指定的话默认的是当前数据库的规则。...

2018-12-17 19:43:15

数据库--基础操作

     这次我们对数据库再做一些基础的介绍。上次我们介绍了数据库支持的字符串和字符串校验规则。这里我们使用校验规则使用utf8_general_ci[不区分大小写]来创建数据库test1,这时候整个数据库的校验规则是不区分大小写的。之后创建一个名字为person的表,为了方便我们里边只包含一项数据name类型是varchar20.这里我们插入了四项数据,分别是a、A、...

2018-12-16 22:12:58

数据库--基础

     数据库相比文件保存文件来说:数据库比文件更要安全、文件不方便数据查询和管理、文件不利于存储海量数据、文件在程序中不方便控制。所以今天给大家介绍数据库的一些基础知识,这里我用的数据库是MariaDB他的操作和MySQL是一样的。   数据库安装完毕之后需要通过命令来进入,进入之后就不再是我们的shell命令也和之前不同   进来之后也是命令模式,如果想要查看我们现在有几个数...

2018-12-15 21:24:53

多路复用----epoll

  上次我们介绍了多路复用IO的select。poll和select十分类似,把用户传入的数组拷贝到内核空间,然后查询每个fd的状态,如果对应设备就绪就放入等待队列中,如果没有设备就绪就把进程挂起,直到有设备就绪或者超时了,但是他比select好的一点是他没有数目限制,因为poll是基于链表来存储的,但是还是和select有相同的最大缺点:大量的fd数组从用户复制到内核,并且poll还有一个特点是...

2018-12-10 17:45:16

多路复用IO----select

    上次我们介绍了五种基本的IO模型,在这五种里边多路转接IO是我们要了解的重点。  为什么他重要,我们先拿他和我们基础的IO来进行一下区分,当我们遇到普通的IO时都会开启一个新的进程来处理这个IO,在现在网络的访问量来开,如果同时有五千个IO来恐怕普通的机器都难以处理,更别说动不动就上亿的点击了,那这时候你的CPU占有率会相当的高,并且他并不是在干活如果没有数据的话就会阻塞在那里,浪...

2018-12-08 11:44:14

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得