11 2020 档案
摘要:Docker 使用Docker容器化封装应用程序的意义(好处) Docker引擎统一了基础设施环境 - docker环境 硬件操作 操作系统的版本 运行时环境异构 Docker引擎统一了程序打包(装箱)方式 - docker镜像 java程序 python程序 go程序 ... DOcker引擎统一
阅读全文
摘要:什么是设计模式 “设计模式是软件设计中常见问题的典型解决方案。 它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。” “设计模式与方法或库的使用方式不同, 你很难直接在自己的程序中套用某个设计模式。 模式并不是一段特定的代码, 而是解决特定问题的一般性概念。 你可以根据模式
阅读全文
摘要:下载 $ go get github.com/fsnotify/fsnotify 使用fsnotify监控文件 package main; import ( "github.com/fsnotify/fsnotify" "fmt" "path/filepath" "os" ) type Watch
阅读全文
摘要:Cobra介绍 一个用于生成命令行工具的框架(本身也是个命令行工具) 非常简单,易用 k8s/docker/hugo/etcd等... 下载安装 https://github.com/spf13/cobra $ go get -u github.com/spf13/cobra // github.c
阅读全文
摘要:生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。 这个过程在所有操作系统上都是相似的。 首先,你需要确认自己是否已经拥有密钥。 默认情况下,用户的 SSH 密钥存储在其 ~/
阅读全文
摘要:使用简单 hystrix的使用是非常简单的,同步执行,直接调用Do方法。 err := hystrix.Do("my_command", func() error { // talk to other services return nil }, func(err error) error { //
阅读全文
摘要:option参数的各种用法 Error对象的处理 主要在 main.go中 httpTransport.NewServer() 函数中的 ServerOption 选传参数 我们可以看到 // ServerOption设置服务器的可选参数。 type ServerOption func(*Serve
阅读全文
摘要:首先,让我们来回顾一下我们的项目架构 // 项目结构 -| Server | server.go -| EndPoint | endpoint.go -| Transport | Transport.go - main.go 使用外部路由组件扩充服务 我们这里使用 https://github.co
阅读全文
摘要:我们客户端的架构与服务的类似 根据我们Demo的示例,我们创建一个客户端,客户端与服务端架构类似 // 项目结构 -| Client | Client.go -| EndPoint | endpoint.go -| Transport | Transport.go - main.go 1.首先我们还
阅读全文
摘要:手把手带你使用 go-kit go-kit 是什么 Go kit 是一个微服务工具包集合。利用它提供的额API和规范可以创建健壮、可维护性高的微服务体系 Go-kit的三层架构 1、Service 这里就是我们的业务类、接口等相关信息存放 2、EndPoint 定义Request、Response格
阅读全文
摘要:第二章 信息的表示和处理 2.1 信息存储 大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位.机器级程序将内存视为一个非常大的字节数组,称为虚拟内存(virtual memory).内存的每个字节都由一个唯一的数字来标识,称为它的地址(ad-adr
阅读全文
摘要:首先我们看下标准库文档中定义以及解释 func StripPrefix(prefix string, h Handler) Handler StripPrefix返回一个处理器,该处理器会将请求的URL.Path字段中给定前缀prefix去除后再交由h处理。StripPrefix会向URL.Path
阅读全文