[Openstack] 重部署记录

数据中心集群断电后,openstack没法正常连接vm,本身系统也是前人部署,留下来的资料有限,debug比较麻烦,加之instance基本都没人在用,索性重装了。

UPDATE 2020/04/25

  • 为了修个后视镜,把车都给拆咯

记录一下,以后再出问题时,稍微提供一些参考。

阅读更多

Microservices in Golang - Part3

内容提要:docker-compose & 持久化

原作者:Ewan Valentine

原文链接:https://ewanvalentine.io/microservices-in-golang-part-3/

引言

系列的第二章节中,我们开始使用Docker对服务进行容器化,并使用go-micro替代了gRPC,并且引入了vessel服务。本章节中我们将会使用docker-compose,它能够使我们在本地运行多个服务变得更加简单,以及,我们将介绍几个不同的数据库,并且这次将迎来服务组合中的第三位成员。

UPDATE 2020/05/02

阅读更多

Microservices in Golang - Part2

内容提要:Docker & Go-Micro

原作者:Ewan Valentine

原文链接:https://ewanvalentine.io/microservices-in-golang-part-2/

引言

上篇文章中,我们介绍了编写基于gRPC的微服务的基础知识,在这一部分我们将介绍Docker化服务(Dockerising a service) 的相关知识,同时我们也会在程序中使用 go-micro 以替代 gRPC ( go-micro 中也对 gRPC 进行了封装),最后引入第二个服务。

阅读更多

Microservices in Golang - Part1

原作者:Ewan Valentine

原文链接:https://ewanvalentine.io/microservices-in-golang-part-1/

引言

《Go微服务》系列文章包括十个部分,这是系列的第一篇。本系列中将会用到protobufgRPC作为服务间的通讯协议。我花了很长时间找到了这个简洁明了的解决方案,所以我想将我所了解的有关微服务项目创建、测试以及微服务端到端部署的知识分享给刚接触这个领域的新手们。

在教程中,我们将介绍一些基本概念,术语,并以最原始的形式创建我们的第一个微服务。

在整个系列中,我们将会创建以下服务:

  • consighments
  • users
  • authentication
  • vessels

我们需要用到的技术栈包括:golang, mongodb, grpc, docker, Google Cloud, Kubernetes(容器编排), NATS(消息中间件), CircleCI, Terraform(实例操作工具,代替kubectl), go-micro.

UPDATE 2020/05/21

  • 感谢 @lihao 指出 go mod 使用上的问题
阅读更多

[Golang] Go Mod My-Practice

Go在1.11版本后开始支持modules,以go mod来实现包管理,那么该如何使用呢?

UPDATED 2020/04/10:

  • 增加GOPROXY设置,应对可能存在的网络连接问题
  • 增加仓库发布实践操作部分,有效避坑指南
  • 调整了文章结构
阅读更多

[Golang] 简单并发telnet服务器

一个小demo,通过goroutine简单高效地实现并发的操作。

goroutine类似Python、C#中的coroutine,都可以使函数在独立的环境中运行,与之不同的是,goroutine某种程度上来说更为强大一些,它允许并行执行,可以通过channel进行进程间的通信。

当然,其他的区别也有很多,但不在本文讨论范围之内,之后会将这方面的知识归纳总结一次。

阅读更多

[Golang] 有限状态机FSM

有限状态机(Finite State Machine)是一个非常有用的模型,理论上只要你考虑的状态足够多,就可以模拟世界上大部分事物。

阅读更多