12 2019 档案

摘要:kafka安装前期准备: 1,准备三个节点(根据自己需求决定) 2,三个节点上安装好zookeeper(也可以使用kafka自带的zookeeper) 3,关闭防火墙 chkconfig iptables off 一、下载安装包 Kafka官网下载安装包 http://kafka.apache.or 阅读全文
posted @ 2019-12-27 14:59 Binb 阅读(284) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go性能调优 在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况。 Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库,这篇文章就要讲解怎么在 golang 中做 profiling。 Go性能优化 G 阅读全文
posted @ 2019-12-26 16:05 Binb 阅读(842) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言标准库flag基本使用 os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数。 package main import ( "fmt" "os" ) //os.Args demo func main() { //os.Ar 阅读全文
posted @ 2019-12-26 14:14 Binb 阅读(443) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go标准库Context 在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比 阅读全文
posted @ 2019-12-26 11:30 Binb 阅读(244) 评论(0) 推荐(0) 编辑
摘要:关闭Rootless 进入恢复模式(重启系统时按住command+R进入恢复模式)下打开终端; 关闭系统SIP保护:csrutil disable; 重启,进入正常系统; 解决无法添加VMware辅助功能的问题 进入系统后打开终端; 依次输入以下命令: $ sudo chmod 777 /Libra 阅读全文
posted @ 2019-12-25 23:43 Binb 阅读(2083) 评论(0) 推荐(0) 编辑
摘要:文章引用自 二进制协议gob和msgpack介绍 本文主要介绍二进制协议gob及msgpack的基本使用。 最近在写一个gin框架的session服务时遇到了一个问题,Go语言中的json包在序列化空接口存放的数字类型(整型、浮点型等)都序列化成float64类型。 我们构造一个结构体如下: typ 阅读全文
posted @ 2019-12-20 14:15 Binb 阅读(1333) 评论(0) 推荐(0) 编辑
摘要:snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。 这种方案大致来说是一种以划分命名空间(UUID也算,由于比较常见,所以单独分析)来生成ID的一种算法,这种方案把64-bit分别划分成多段,分开来标示机器、时间等。 其核心思想是:使用41bit作为毫秒数,10 阅读全文
posted @ 2019-12-20 12:10 Binb 阅读(1011) 评论(0) 推荐(0) 编辑
摘要:主从机制实现原理 (1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events); (2) slave将master的binary log events拷贝到它的中继日志(relay log); (3) slave重做中继日志中 阅读全文
posted @ 2019-12-13 14:43 Binb 阅读(254) 评论(0) 推荐(0) 编辑
摘要:引擎介绍: InnoDB 用于事务处理应用程序,支持外键和行级锁。如果应用对事物的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包括很多更新和删除操作,那么InnoDB存储引擎是比较合适的。InnoDB除了有效的降低由删除和更新导致的锁定,还可以确保事务的完整提交 阅读全文
posted @ 2019-12-13 13:09 Binb 阅读(219) 评论(0) 推荐(0) 编辑
摘要:阅读目录 楔子 初识数据库 为什么要用数据库 认识数据库 初识mysql mysql概念 下载和安装 初识sql语句 楔子 假设现在你已经是某大型互联网公司的高级程序员,让你写一个火车票购票系统,来hold住十一期间全国的购票需求,你怎么写? 由于在同一时段抢票的人数太多,所以你的程序不可能写在一台 阅读全文
posted @ 2019-12-13 12:12 Binb 阅读(107) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Cookie和Session Cookie和Session是Web开发绕不开的一个环节,本文介绍了Cookie和Session的原理及在Go语言中如何操作Cookie。 Cookie Cookie的由来 HTTP协议是无状态的,这就存在一个问题。 无状态的意思是每次请求都是独立的,它的执 阅读全文
posted @ 2019-12-13 12:03 Binb 阅读(551) 评论(1) 推荐(1) 编辑
摘要:文章引用自 解决go get下载包失败问题 从github克隆 golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是 https://golang.org/x/net的镜像库。 要下载golang.org/x/net包,可以在本地创建包的 阅读全文
posted @ 2019-12-12 15:23 Binb 阅读(363) 评论(0) 推荐(0) 编辑
摘要:文章引用自 第三方日志库logrus使用 日志是程序中必不可少的一个环节,由于Go语言内置的日志库功能比较简洁,我们在实际开发中通常会选择使用第三方的日志库来进行开发。本文介绍了logrus这个日志库的基本使用。 logrus介绍 Logrus是Go(golang)的结构化logger,与标准库lo 阅读全文
posted @ 2019-12-12 09:49 Binb 阅读(1113) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言标准库log介绍 无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯。 log Go语言内置的log包实现了简单的日志服务。本文介绍了标准库log的基本使用。 使用Logger log包定义了Logger类型 阅读全文
posted @ 2019-12-12 09:40 Binb 阅读(204) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Gin框架介绍及使用 Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin。 Gin框架介绍 Go世界里最流行的Web框架,Github上有32 阅读全文
posted @ 2019-12-09 21:02 Binb 阅读(284) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言之依赖管理 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面。这就导致了同一个库只能保存一个版本的代码。如果不同的项目依赖同一个第三方的库的不同版本,应该怎么解决? godep Go语言从v1.5开始开始引入vendor模式,如果 阅读全文
posted @ 2019-12-09 20:40 Binb 阅读(426) 评论(0) 推荐(0) 编辑
摘要:文章引用自 NSQ NSQ是目前比较流行的一个分布式的消息队列,本文主要介绍了NSQ及Go语言如何操作NSQ。 NSQ介绍 NSQ是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异。 NSQ的优势有以下优势: NSQ提倡分布式和分散的拓扑,没有单点故障,支持容错和高可用性,并提供可靠的 阅读全文
posted @ 2019-12-08 17:30 Binb 阅读(586) 评论(0) 推荐(1) 编辑
摘要:redis: # 是一个单进程单线程应用 # mysql是一个软件,帮助开发者对一台机器的硬盘进行操作 # redis是一个软件,帮助开发者对一台机器的内存进行操作 关键字: 缓存 # 优先去redis中获取,如果没有就是数据库 可以做持久化操作(两种策略) - AOF # 定时保存 - RDB # 阅读全文
posted @ 2019-12-08 17:13 Binb 阅读(437) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言操作mongoDB mongoDB是目前比较流行的一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库(NoSQL)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 mongoDB介绍 mongoDB是目前比较流行的一个基于分布式文件存储的数据库,它是 阅读全文
posted @ 2019-12-07 09:33 Binb 阅读(1712) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Redis介绍 Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。除此之外,通过复制、持久化和客户端分片等特性,我们可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。 Red 阅读全文
posted @ 2019-12-07 09:26 Binb 阅读(1023) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用database/sql包时必须注入(至少)一个数据库驱动。 我们常用的数据库基本上都有完整的第三方实现。例如:MySQL驱动 下载依赖 go get 阅读全文
posted @ 2019-12-07 09:24 Binb 阅读(318) 评论(0) 推荐(0) 编辑
摘要:Bootstrap 3.3.0 js 文件 <script src="http://cdn.bootcss.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> Bootstrap 3.3.0 css 文件 <link rel="stylesheet" 阅读全文
posted @ 2019-12-06 22:05 Binb 阅读(1120) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言标准库之http/template 模板与渲染 在一些前后端不分离的Web架构中,我们通常需要在后端将一些数据渲染到HTML文档中,从而实现动态的网页(网页的布局和样式大致一样,但展示的内容并不一样)效果。 我们这里说的模板可以理解为事先定义好的HTML文档文件,模板渲染的作用机 阅读全文
posted @ 2019-12-03 14:32 Binb 阅读(1250) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言基础之net/http Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现。 net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的实现。 HTTP协议 超文本传输协议(HTTP,HyperText Transfer Pr 阅读全文
posted @ 2019-12-02 22:12 Binb 阅读(331) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言基础之网络编程 互联网协议介绍 互联网的核心是一系列协议,总称为”互联网协议”(Internet Protocol Suite),正是这一些协议规定了电脑如何连接和组网。我们理解了这些协议,就理解了互联网的原理。由于这些协议太过庞大和复杂,没有办法在这里一概而全,只能介绍一下我们 阅读全文
posted @ 2019-12-02 11:11 Binb 阅读(219) 评论(0) 推荐(0) 编辑
摘要:文章引用自 Go语言基础之单元测试 go test工具 Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以_test.go为后缀名的源代码文件都是 阅读全文
posted @ 2019-12-01 16:15 Binb 阅读(227) 评论(0) 推荐(0) 编辑