02 2020 档案

摘要:安装宝塔 Centos安装脚本 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh Ubuntu/Deepin安装脚本 wget -O install. 阅读全文
posted @ 2020-02-12 22:56 风一样自由419154 阅读(1605) 评论(0) 推荐(0) 编辑
摘要:1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多。参考资料:http://en.wikipedia.org/wiki/Load_average 2. 如何查看linux服务器负 阅读全文
posted @ 2020-02-12 22:52 风一样自由419154 阅读(121) 评论(0) 推荐(0) 编辑
摘要:参考 https://www.cnblogs.com/caozy/p/9261224.html https://blog.csdn.net/lz6363/article/details/82664130 一、系统目录结构 约定俗成: bin (binaries)存放二进制可执行文件 sbin (su 阅读全文
posted @ 2020-02-12 22:26 风一样自由419154 阅读(140) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ topic 在之前我们将交换器的类型从fanout设置为direct后能够根据我们的选择获得响应的消息,虽然改良我们的消息日志系统,但是还有很多局限性,比如它不能基于多个标准进行路由 在我们的日志系统中我们可能不仅仅是依据消息的严重性进行订阅,还有可能同时基于消息的危险等级和消息来 阅读全文
posted @ 2020-02-12 17:03 风一样自由419154 阅读(118) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ_Routing 本节内容我们将对发布订阅增加一个特性:订阅子集。比如我们将一些危险的错误消息保存进硬盘中,同时在控制台仍然能够读取所有的消息 Bingings 上一节内容我们将队列跟交换器进行binging: err = ch.QueueBind( q.Name, // queue 阅读全文
posted @ 2020-02-12 17:02 风一样自由419154 阅读(197) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ 在上一节中我们创建了工作队列,并且假设每一个任务都能够准确的到达对应的worker。在本节中我们将介绍如何将一个消息传递到多个消费者,这也就是所说的发布订阅模式 为了验证该模式我们使用两个建立一个简单的打印系统,一个负责发出消息,另一个负责接收并打印。在该系统多个receiver中 阅读全文
posted @ 2020-02-12 17:01 风一样自由419154 阅读(218) 评论(0) 推荐(0) 编辑
摘要:rabbitMQ工作队列 在之前内容中我们通过一个队列实现了消息的发送跟接收。接下来我们创建工作队列(Work Queue),用于在多个工作者之间分配耗时的任务 工作队列(任务队列)背后的核心主要是避免立即执行资源密集型的任务,必须等待其工作完成。我们将任务封装为消息后将其发送到队列,后台的工作进程 阅读全文
posted @ 2020-02-12 17:00 风一样自由419154 阅读(233) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ 简介 RabbitMQ是一个消息代理,用来负责接收和转发消息。 术语 生产者:生产者是负责发送消息的 队列:队列是RabbitMQ用来存储消息的,受主机内存和磁盘大小的限制,本质上是一个消息的缓冲区。生产者可以将消息发送至队列中,消费者可以从队列中接收到消息 消费者:消费者是用来等 阅读全文
posted @ 2020-02-12 16:59 风一样自由419154 阅读(197) 评论(0) 推荐(0) 编辑
摘要:前面已经讲过很多Golang系列知识,包括并发,锁等内容,感兴趣的可以看看以前的文章,https://www.cnblogs.com/zhangweizhong/category/1275863.html, 接下来讲几个golang常见的并发模型,今天先说说生产者消费者模型。 生产者消费者模型 生产 阅读全文
posted @ 2020-02-12 16:47 风一样自由419154 阅读(636) 评论(0) 推荐(0) 编辑
摘要:接下来要说的是golang的锁的使用场景主要涉及到哪些?读写锁为什么会比普通锁快。 一、什么场景下需要用到锁 当程序中就一个线程的时候,是不需要加锁的,但是通常实际的代码不会只是单线程,有可能是多个线程同时访问公共资源,所以这个时候就需要用到锁了,那么关于锁的使用场景主要涉及到哪些呢? 1. 多个线 阅读全文
posted @ 2020-02-12 16:46 风一样自由419154 阅读(456) 评论(0) 推荐(0) 编辑
摘要:接下来要说的是golang的并发,其实之前简单介绍过协程(goroutine)和管道(channel) 等基础内容,只是比较简单,只讲了基本的语法。今天就详细说说golang的并发编程。 一、并发和并行 Go是并发语言,而不是并行语言。所以我们在讨论,我们首先必须了解什么是并发,以及它与并行性有什么 阅读全文
posted @ 2020-02-12 16:45 风一样自由419154 阅读(191) 评论(0) 推荐(0) 编辑
摘要:以前讲过golang 的基本语法。但是,只是讲了一些基础的语法,感兴趣的可以看看以前的文章,https://www.cnblogs.com/zhangweizhong/category/1275863.html,前段时间有人问我defer,recover的用法。所以,还是统一的总结一下相关的关键字吧 阅读全文
posted @ 2020-02-12 16:44 风一样自由419154 阅读(450) 评论(0) 推荐(0) 编辑
摘要:今天就来讲讲go 里面的如何使用 Redis。 安装 1. Redis 的安装很简单,我这里测试直接用的是windows 的版本。如何安装就不细说了。想了解的可以看之前的文章:https://www.cnblogs.com/zhangweizhong/category/771056.html 2.  阅读全文
posted @ 2020-02-12 16:42 风一样自由419154 阅读(219) 评论(0) 推荐(0) 编辑
摘要:今天就来讲讲go 里面的高级功能,也是go语言重要的特性:Go协程(Goroutine)。 什么是Go协程 Go协程(Goroutine)是与其他函数同时运行的函数。可以认为Go协程是轻量级的线程,由Go运行时来管理。 在函数调用前加上go关键字,这次调用就会在一个新的goroutine中并发执行。 阅读全文
posted @ 2020-02-12 16:40 风一样自由419154 阅读(228) 评论(0) 推荐(0) 编辑
摘要:GO语言中的面向对象 其实GO并不是一个纯面向对象编程语言。它没有提供类(class)这个关键字,只提供了结构体(struct)类型。 java或者C# 里面,结构体(struct)是不能有成员函数的。然而,Go语言中的结构体(struct)可以有"成员函数"。方法可以被添加到结构体中,类似于一个类 阅读全文
posted @ 2020-02-12 16:39 风一样自由419154 阅读(171) 评论(0) 推荐(0) 编辑
摘要:1. 什么是interface接口 interface 是GO语言的基础特性之一。可以理解为一种类型的规范或者约定。它跟java,C# 不太一样,不需要显示说明实现了某个接口,它没有继承或子类或“implements”关键字,只是通过约定的形式,隐式的实现interface 中的方法即可。因此,Go 阅读全文
posted @ 2020-02-12 16:38 风一样自由419154 阅读(186) 评论(0) 推荐(0) 编辑
摘要:1. Go 程序的基本结构 下面是一个Go 程序的基本结构,包含(包声明,引入包,函数等) package main // 定义包名,package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。 import "fmt" // 导入需要使用的包(的函数,或其 阅读全文
posted @ 2020-02-12 16:37 风一样自由419154 阅读(197) 评论(0) 推荐(0) 编辑
摘要:GO语言基础语法 go 的基础语法,我这里就不细说了,大家可以查看这个文章,学习Go 详细的语法:http://www.runoob.com/go/go-basic-syntax.html 最好是对照上面的例子,一个一个敲出来,这样效果最好。 下面是一个Go 程序的基本结构,包含(包声明,引入包,函 阅读全文
posted @ 2020-02-12 16:36 风一样自由419154 阅读(159) 评论(0) 推荐(0) 编辑
摘要:安装 Go Go语言的优劣,这里就不介绍了,下面直接讲Go 的安装: Go 的官方网站:http://golang.org/(需要FQ软件) 国内下载地址:http://www.golangtc.com/download 下载对应平台的安装包。注意区分32位还是64位操作系统。 安装包下载完成之后, 阅读全文
posted @ 2020-02-12 16:35 风一样自由419154 阅读(148) 评论(0) 推荐(0) 编辑
摘要:实现原理: /** (1)创建一个正常的队列 Q1,目的是处理业务逻辑,比如发送订单消息等 ,对应交换器和绑定键 分别为 E1 和 Bingkey1 (2)创建一个延时消息队列 Q2,设定队列的延时时间为10s,对应的交换器和绑定键分别为 E2和Bingkey2;并在该队列创建时候,设定队列的 (a 阅读全文
posted @ 2020-02-12 09:27 风一样自由419154 阅读(1360) 评论(0) 推荐(0) 编辑
摘要:生产者:生产者是负责发送消息的 队列:队列是RabbitMQ用来存储消息的,受主机内存和磁盘大小的限制,本质上是一个消息的缓冲区。生产者可以将消息发送至队列中,消费者可以从队列中接收到消息 消费者:消费者是用来等待接收消息 生产者,消费者,代理可以驻留在不同主机或同一主机,一个应用可以是生产者也可以 阅读全文
posted @ 2020-02-12 09:06 风一样自由419154 阅读(4585) 评论(0) 推荐(0) 编辑
摘要:第一大部分 interface{} 可以接受任何类型的对象值 获取interface{}队形的数据类型,可以使用断言,或者 switch type 来实现 // Assertion project main.go package main import ( "fmt" ) type Bag stru 阅读全文
posted @ 2020-02-12 08:47 风一样自由419154 阅读(1333) 评论(0) 推荐(0) 编辑
摘要:————————————————Go语言Map———————————————————— 一、map 1.map是key-value数据结构,称为字段或关联数组 var 变量名 map[keytype]valuetype key的数据类型: bool、数字、string、指针、channel 通常:i 阅读全文
posted @ 2020-02-12 08:37 风一样自由419154 阅读(356) 评论(0) 推荐(0) 编辑