# CMakeLists.txt 文件常用配置
# cmake最小版本
cmake_minimum_required(VERSION 3.10)
# 项目名
project(demo1)
# 设置bin目录
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
# 将源文件目录下所有源文件保存到SRC_LIST
aux_source_directory(src SRC_LIST)
# 指定头文件目录
include_directories(include)
# 将所有源文件编译成二进制程序
add_executable(d...作者文章归档:zuojie@88.com
k8s基础
概述(官网)
Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上, 结合了社区中最优秀的想法和实践。
时光回溯
让我们回顾一下为何 Kubernetes 能够...
Gin框架表单验证
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin/binding"
"github.com/go-playground/locales/en"
"github.com/go-playground/locales/zh"
ut "github.com/go-playground/universal-translator&q...grpc和protobuf
grpc
gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持. grpc/grpc The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) - grpc/grpc
Protocol Buffer
其实 是 Google出品的一种轻量 & 高效的结构化数...
zerorpc
ZeroRPC是一个轻量级,可靠且与语言无关的产品 用于服务器端之间分布式通信的库 过程。它建立在ZeroMQ和MessagePack之上。 支持流响应 - 类似于 python 生成器 - 使 ZeroRPC 比典型的 RPC 引擎更多。内置 检测信号和超时检测故障并从故障中恢复 请求。内省能力,一流例外 命令行实用程序使调试变得容易。
# 安装zerorpc
pip install zerorpc
# 启动内置服务
zerorpc --server --bind tcp://*:1234 time
zerorpc --client --connect tcp://127.0...Go基础语法练习(4)
Server
package main
import (
"fmt"
"net"
)
func main() {
// 1.创建监听
ip := "127.0.0.1"
port := 8080
address := fmt.Sprintf("%s:%d", ip, port)
server, err := net.Listen("tcp", address)
defer server.Close()
if err...Go基础语法练习(3)
package main
import (
"fmt"
"strconv"
"time"
)
func display() {
for i := 0; i < 10; i++ {
fmt.Println("协程display", i)
time.Sleep(1 * time.Second)
//if i == 3 {
// // 退出当前的协程
// // runtime.Goexit...Go基础语法练习(2)
package main
import (
"fmt"
"os"
)
func init() {
// 每个包中第一个执行的函数,import时自动执行,不能被用户调用
// 没有参数,没有返回值
// 包中包含多个init时,调用顺序不确定
fmt.Println("Hello Init")
}
func main() {
//switchTest()
//gotoTest()
//enumTest()
//structTest()
...Go基础语法练习(1)
package main
import (
"fmt"
"strconv"
)
func main() {
zTest()
fibo()
strTest()
arrayTest()
sliceTest()
mapTest()
a, b, c := funTest(1, 3, "Code ")
fmt.Println(a, b, c)
}
func funTest(a int, b int, c string) (int, bool, stri...RPC
RPC
什么是RPC?
RPC 是远程过程调用(Remote Procedure Call)的缩写形式。
RPC 是指计算机 A 上的进程,调用另外一台计算机 B 上的进程,其中 A 上的调用进程被挂起,而 B 上的被调用进程开始执行,当值返回给 A 时,A 进程继续执行。
调用方可以通过使用参数将信息传送给被调用方,而后可以通过传回的结果得到信息。而这一过程,对于开发人员来说是透明的。
- 远程过程调用采用客户机/服务器(C/S)模式。
- 请求程序就是一个客户机,而服务提供程序就是一台服务器。
- 和常规或本地过程调用一样,远程过程调用是同步操作,在远程过程结果返回之前,需要暂时中止请求程...