本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。上一篇中我们已成功构建了应用容器,下一步学习如何将其转化为完全可信赖、可伸缩的分布式系统。实现这一目标,需要用到Kubernetes集群。现在大部分公有云都提供云端Kubernetes服务,只需几条命令就可轻松创建一个集群。对于Kubernetes新手强烈推荐使用这种方法。即便最终你……继续阅读 » Alan 2年前 (2022-11-24) 1308浏览 0评论0个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。未知世界总是让人心生畏惧。古老的地图上对于未到达过的区域总会使用恶龙和狮子进行标记。在前面的文章中,我们强调了Go是一门安全的编程语言,含有类型的变量让我们清楚地知道使用的是哪类数据,还有垃圾回收管理着内存。哪怕是指针也没有C和C++所具备的槽点。以上这些都没错,对于我们所写的大部……继续阅读 » Alan 2年前 (2022-11-12) 2024浏览 0评论2个赞
本文来自正在规划的Go语言&云原生自我提升系列,欢迎关注后续文章。Kubernetes是用于创建、部署和管理分发应用的平台。这些应用大小、形态各异,但最终都由在具体机器上运行的一个或多个程序组成。这些应用会接收输入、操作数据、返回结果。在构建分布式系统之前,我们要先考虑构建包含这些应用程序的容器镜像以及组成我们分布式系统的零件。应用程序通常由编程……继续阅读 » Alan 2年前 (2022-11-09) 1262浏览 0评论0个赞
使用Go语言创建3个微服务和1个API网关 (2022版)本文是系列文章使用gRPC、API网关和权限校验创建Go微服务的下篇。我们继续讲解。商品微服务 (go-grpc-product-svc)Github: https://github.com/alanhou/go-grpc-project这是三个微服务中的第二个。这里我们实现三个功能:……继续阅读 » Alan 2年前 (2022-08-23) 1303浏览 0评论0个赞
Dockerfile FROM ubuntuRUN apt update \&& apt install golang -y \&& apt install dlv -y \&& apt install binutils -y \&& apt i……继续阅读 » Alan 2年前 (2022-08-05) 1680浏览 0评论1个赞
最近准备使用微服务框架做一套系统,当然不用框架也能做(使用gRPC、API网关和权限校验创建Go微服务 Part 1/2),但人力有限的情况下用框架肯定是更好的选择。显然 go-micro时代已经过去了,那么我们更容易锁定到国内开源的两个框架,go-zero和Kratos,各有千秋。本着没有深入使用就没有发言权的原则,我很可能会各实现一套来进行对比,就学习资……继续阅读 » Alan 2年前 (2022-07-31) 3600浏览 0评论0个赞
使用Go语言创建3个微服务和1个API网关 (2022版)我们会一起开发3个微服务和1个处理HTTP请求的API网关。HTTP请求会通过gRPC转发给这些微服务。此外还会同时处理JWT验证。本文由两部分组成,第二部分请点击这里。我们要创建什么应用呢?我们会一起构建一套小型电商系统,项目使用Go语言进行开发。应用架构本系列文章分成两个部分:……继续阅读 » Alan 2年前 (2022-07-27) 2408浏览 0评论0个赞
结构体是包含多个字段的集合类型,用于将数据组合为记录。这样可以将与同一实体相关联的数据利落地封装到一个轻量的类型定义中,然后通过对该结构体类型定义方法来实现不同的行为。本文会尝试从内存利用和CPU周期的角度讲解如何高效编写struct。我们来看下面这一结构体,这是我们一个奇怪用例所定义的terraform资源类型: ty……继续阅读 » Alan 2年前 (2022-07-26) 989浏览 0评论0个赞
安装多版本的 Go:https://golang.org/doc/manage-install编译原理基础编译与反编译⼯具使⽤调试⼯具语法实现分析Parser 应⽤场景示例函数调⽤规约编译原理基础编译过程词法分析(Lexical Analysis)语法分析(Syntax Analysis)https://astexplo……继续阅读 » Alan 3年前 (2022-01-23) 1779浏览 0评论1个赞
理解可执行文件Go 进程的启动与初始化调度组件与调度循环处理阻塞调度器的发展历史与调度有关的常⻅问题暖场内容跨语⾔学习PHP 转 GoPHP-FPM 是多进程模型,FPM 内单线程执⾏。PHP 底层是 C 语⾔实现,整套系统难精通。⽐如我遇到过 PHP 底层的 bug,束⼿⽆策。Go 从⽤户代码⼀直到底层都是 Go(会有⼀些汇编),……继续阅读 » Alan 3年前 (2022-01-17) 2206浏览 0评论2个赞