Linux高并发服务器开发---从网络IO到IO多路复用

Netcat软件的基本使用 Netcat(简写nc)是一个强大的网络命令工具,能够在linux中执行与TCP、UDP相关的操作,例如端口扫描,端口重定向、端口监听甚至远程连接。 在这里,我们使用 nc 来模拟一台接收message的服务器,和一台发送message的客户端。 1、安装 nc 软件 sudo yum install -y nc 2、使用 nc 创建一台监听9999端口的服务器 nc -l -p 9999 # -l表示listening,监听 启动成功后 nc 进行阻塞 3、新建一个...阅读全文

简书 2021-03-18 00:32:52 诗人和酒

Go语言开发分布式任务调度 轻松搞定高性能Crontab

download:Go语言开发分布式任务调度 轻松搞定高性能Crontab Golang因其强大的协程机制,现已广泛应用于解决分布式环境下的高并发问题。本门课程中将结合Etcd与MongoDB实现一个基于Master-Worker分布式架构的任务调度系统。你不仅将掌握Golang的工程实践能力,而且会收获诸如CAP、Raft的分布式经典理论与架构经验,”工程能力”与”知识体系”齐头并进,实现华丽质变。 适合人群希望转型Go语言开发的同学需要提升Go语言的开发经验的同学 技术储备要求熟悉Go语言基...阅读全文

51CTO博客 2021-03-17 22:30:43 mb60502f0b86aee

Go从入门到精通之条件与循环

原创 lightcity 光城 2019-03-23Go从入门到精通之条件与循环0.导语本节续学上节Go,先来谈谈算数运算符以及一起特殊运算符操作,最后学习本节的重点:条件与循环。(学习来自极客时间Go课程)。1.运算符算数运算符Go语言没有前置的++,--用==比较数组在其他语言当中,用==比较是比较两个数组的引用,而不是值,但是Go不一样。相同维数且含有相同个数元素的数组才可以比较每个元素都相同的才相等位运算符&^按位零 ,如下:11 & ^0 --- 121 & ^1 --- 030 &^...阅读全文

51CTO博客 2021-03-17 15:50:13 mb600aa45a054a0

话不多说,开学Go

原创 lightcity 光城 2019-03-22开学Go0.导语开始入坑Go,学习来自极客时间上的Go从入门到精通。最近不怎么更文了,有如下原因:一个大的项目一个算法机器学习与深度学习特殊原因暂缓其他等等对于关注本公众号的同学,说声抱歉!大家可以点击公众号菜单来选择自己喜欢的文章,也欢迎后台留言!1.Go学习包管理Go中包实际上就是文件夹!1.必须是main包 package main2.必须是main方法:func main3.文件名不一定是main.go退出返回值与其他编程语言的差异:G...阅读全文

51CTO博客 2021-03-17 15:49:45 mb600aa45a054a0

一看便会微信后台服务器开发

微信后台服务器开发就要下班了,兵长打开手机,看到弹出的某微信聊天机器人广告便点了进去,于是有了如下故事...最近兵长在看微信的时候突发奇想的去玩了一下某微信机器人,能够像智能语音助手一下和自己聊天兵长就在想,这机器人是咋做的,咱们是做服务器开发的,咱用go语言快速实现一下给自己玩玩,实现一个定制化的聊天机器人可好胖sir听到兵长自言自语的不明所以,便走上前说,咋开始玩起聊天了,不来峡谷游了吗?上次带你本来是想带你成为winer的,没想到,每一把都是loser,我打算最近收收手,控制一下情绪,找机...阅读全文

Segmentfault 2021-03-22 08:32:33 小魔童哪吒

rabbitMq 交换机 系列一 无交换机 [golang 版本]

4种不同的交换机类型直连交换机:Direct exchange扇形交换机:Fanout exchange主题交换机:Topic exchange首部交换机:Headers exchange交换机具体含义参考 https://www.jianshu.com/p/469...不用交换机的队列以下代码参数具体含义可以参考 https://segmentfault.com/a/11...生产者示例 producer.gopackage main import ( "fmt" "github.com/st...阅读全文

Segmentfault 2021-03-21 22:32:33 forlife

01初识Go

golang.png 语言介绍 go语言的全称是:go programming language。但是因为go 这个词太通用了,搜索引擎不能很好辨认,所以习惯叫golang,是Google公司9002年11月正式对外公开的一门编程语言。 特点 静态编译语言的安全和高性能 动态语言开发速度和易维护性 有人形容Go = C + Python,说明Go语言既有C的运行速度,又能达到Python的快速开发。 Go语言的应用场景非常广泛,主要是互联网非常热门的几个领域,比如WEB开发、区块链开发、大型游戏...阅读全文

简书 2021-03-17 17:32:43 learninginto

在vscode中go编码发生的问题整理

引言使用VsCode进行Go程序开发,我们肯定会碰到一些问题,这些问题有些是IDE的配置问题,有些是下载包的版本不一致问题,本文主要针对在开发过程中碰到的问题做一个简单的回顾和整理。前期准备,必看在进行问题纠错前,先确保自己正确下载了golang的官方工具集go-tool,如果不确定,就跟着我的步骤操作一遍,可能操作后,你的问题就解决了。1、配置golang的源。go env -w GOPROXY=https://goproxy.cn,direct然后我们进行golang工具的默认工具服务下载:...阅读全文

Segmentfault 2021-03-21 21:32:32 happlyfox

Golang 面向对象编程

Golang 面向对象编程*目录00 Golang语言面向对象编程说明01 字段、属性02 方法03 面向对象编程04 工厂模式05 面向对象编程思想*00 Golang语言面向对象编程说明Golang 也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。所以我们说Golang支持面向对象编程特性是比较准确的。Golang没有类(class),Go语言的结构体(struct)和其它编程语言的类(class)有同等的地位,你可以理解Golang是基于struct...阅读全文

Segmentfault 2021-03-21 09:32:33 COOKIE

GOLANG 开发

CentOs 6 epel需要更改yum源VS CODE 调试配置https://github.com/golang/vscode-go/blob/master/docs/debugging.md#using-vs-code-variablesLinux 运行https://blog.csdn.net/taoerchun/article/details/92787743set CGO_ENABLED=0set GOOS=linuxset GOARCH=amd64go build main.goM...阅读全文

简书 2021-03-17 15:34:01 宁正龙

手撸golang GO与微服务 Saga模式之7

缘起 最近阅读<<Go微服务实战>> (刘金亮, 2021.1) 本系列笔记拟采用golang练习之 Saga模式 saga模式将分布式长事务切分为一系列独立短事务 每个短事务是可通过补偿动作进行撤销的 事务动作和补动作偿都是幂等的, 允许重复执行而不会有副作用 Saga由一系列的子事务“Ti”组成, 每个Ti都有对应的补偿“Ci”, 当Ti出现问题时Ci用于处理Ti执行带来的问题。 可以通过下面的两个公式理解Saga模式。 T = T1 T2 … Tn T = TCT Saga模式的核心理念是...阅读全文

简书 2021-03-17 15:34:01 老罗话编程

Zorm之国产化数据库实践

简介 go(golang)轻量级ORM,零依赖,支持达梦(dm),金仓(kingbase),神通(shentong),南大通用(gbase),mysql,postgresql,oracle,mssql,sqlite数据库. 源码地址:https://gitee.com/chunanyong/zorm 作者博客:https://www.jiagou.com 实践项目 夜莺监控告警项目国产化数据库的支持 夜莺是一套滴滴团队主导开源的分布式高可用的运维监控系统。 源码地址:https://github...阅读全文

简书 2021-03-17 15:34:00 counting_2ecd

浅析 go sync包

浅析 go sync包 背景介绍 尽管 Golang 推荐通过 channel 进行通信和同步,但在实际开发中 sync 包用得也非常的多 var a = 0 // 启动 100 个协程,需要足够大 // var lock sync.Mutex for i := 0; i < 100; i++ { go func(idx int) { // lock.Lock() // defer lock.Unlock() a += 1 fmt.Printf("goroutine %d, a=%d\n", i...阅读全文

简书 2021-03-17 15:33:59 超鸽带你飞

Golang 面向对象编程

Golang 是面向对象的么?是,也不是。尽管 Go 有类型和方法,并且允许面向对象风格的编程,但没有类型层次结构。Go 的『接口』概念提供了一种不同的实现方式,在某些方面更通用。同时,缺少类型层次结构使 Go 的『对象』感觉上比 C++ 或 Java 等语言中的『对象』轻很多。本文的目的就是通过示例来说明,如何使用 Golang 进行面向对象编程过程化以下是一个关于身份证ID的示例,用于从身份证中提取生日。通常的实现版本如下:func Birthday(id string) string { ...阅读全文

Segmentfault 2021-03-21 15:32:32 cyningsun

手撸golang GO与微服务 Saga模式之7

缘起最近阅读<<Go微服务实战>> (刘金亮, 2021.1)本系列笔记拟采用golang练习之Saga模式saga模式将分布式长事务切分为一系列独立短事务每个短事务是可通过补偿动作进行撤销的事务动作和补动作偿都是幂等的, 允许重复执行而不会有副作用Saga由一系列的子事务“Ti”组成, 每个Ti都有对应的补偿“Ci”, 当Ti出现问题时Ci用于处理Ti执行带来的问题。 可以通过下面的两个公式理解Saga模式。 T = T1 T2 … Tn T = TCT Saga模式的核心理念是避免使用长期持...阅读全文

Segmentfault 2021-03-19 17:32:33 ioly

Golang程序设计——函数

本文学习Go语言函数知识。函数是基本的代码块,用于执行一个任务。在Go语言中,函数可以接收数量不固定的参数,也可以返回多个结果。函数结构在编程领域,函数向编译器和开发者提供了有关的信息,这些信息指明了函数该接收什么样的输入以及会产生什么样的输出。这些信息是通过函数第一行提供的,第一行称为函数签名。Go语言声明函数语法如下:func 函数名称(参数名 参数类型) (返回值名称 返回值类型) { // 函数体 return语句 }参数名在参数类型前面,如a int,这一点和其他语言是不同的函数参数数...阅读全文

Segmentfault 2021-03-19 11:32:34 xialeistudio