四时宝库

程序员的知识宝库

多网卡模式下Golang应用的流量从指定网卡流入流出方案


最近因业务需要,需要在多网卡模式下实现Go应用的流量从指定网卡流入,请求外网服务时候流量需要从该网卡流出功能。从指定网卡流入很容易实现,只要go应用listen对应网卡即可,但请求外网服务时候就相对麻烦些了。在实践中总结出有三种方案可行。各有优劣。

假定服务器网卡情况如下:

实际上我们的服务器使用云服务器,网卡是弹性网卡(eni),绑定的是弹性ip(eip)。三种方案对普通服务器也是能达到目的的。

Go应用示例代码:

Golang 的 Websocket 教程

嗨,开发人员!在本教程中,我们将研究如何在我们自己的基于 Go 的程序中使用 WebSockets 来做一些很酷的实时事情。

Golang使用protobuf详解

Protobuf(Protocol Buffers)是一种轻量级的数据交换格式,它能够将结构化数据序列化为二进制格式,以便于在不同系统、不同语言之间进行数据传输和存储。在Go语言中使用Protobuf可以帮助我们快速高效地完成数据传输和存储等任务。下面是protobuf在golang中使用的详解:

  1. 安装protobuf库

首先,我们需要在本地安装protobuf库。可以通过以下命令在Linux/MacOS系统中安装:

golang常用库

常用库

fmt

二叉树:golang实现层序遍历

一大早起来练习基础算法,今天练习下二叉树的层序遍历,对应leetcode第102题
给你二叉树的根节点

学习Golang-从零到大师



让我们从Go(或Golang)的简短介绍开始。 Go是由Google工程师Robert Griesemer,Rob Pike和Ken Thompson设计的。 它是一种静态类型的编译语言。 第一个版本于2012年3月作为开源发布。

" Go是一种开放源代码编程语言,可轻松构建简单,可靠且高效的软件"。

— GoLang

Golang 的超快安全轻量级的 Actor 引擎

#冬日生活打卡季#

小白学Go语言(golang):错误处理

上一篇文章讲了使用Go语言输出hello world,本篇文章简单说一下Go语言中的错误处理。

输出hello world的代码如下:

package main

import "fmt"

func main() {
	fmt.Println("hello world")
}

Golang 入门系列(六)理解Go协程Goroutine,这篇就够了

前面讲介绍了Go 语言的基础知识,Golang的基础语法以及Golang的主要特性Interface等。感兴趣的朋友可以先看看之前的文章。这些都是Golang的基础内容,必须熟练掌握。

接下来讲讲Golang的核心功能,也是go语言重要的特性:Go协程(Goroutine)。

什么是Go协程

Go协程(Goroutine)是与其他函数同时运行的函数。可以认为Go协程是轻量级的线程,由Go运行时来管理。不需要抢占式调度,可以有效提高线程的任务并发性,而避免多线程的缺点;

Golang 入门系列(六)理解Go协程Goroutine,这篇就够了!

前面讲介绍了Go 语言的基础知识,Golang的基础语法以及Golang的主要特性Interface等。感兴趣的朋友可以先看看之前的文章。这些都是Golang的基础内容,必须熟练掌握。

接下来讲讲Golang的核心功能,也是go语言重要的特性:Go协程(Goroutine)。

什么是Go协程

Go协程(Goroutine)是与其他函数同时运行的函数。可以认为Go协程是轻量级的线程,由Go运行时来管理。不需要抢占式调度,可以有效提高线程的任务并发性,而避免多线程的缺点;

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接