使用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) 1294浏览 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) 1667浏览 0评论1个赞
最近准备使用微服务框架做一套系统,当然不用框架也能做(使用gRPC、API网关和权限校验创建Go微服务 Part 1/2),但人力有限的情况下用框架肯定是更好的选择。显然 go-micro时代已经过去了,那么我们更容易锁定到国内开源的两个框架,go-zero和Kratos,各有千秋。本着没有深入使用就没有发言权的原则,我很可能会各实现一套来进行对比,就学习资……继续阅读 » Alan 2年前 (2022-07-31) 3578浏览 0评论0个赞
使用Go语言创建3个微服务和1个API网关 (2022版)我们会一起开发3个微服务和1个处理HTTP请求的API网关。HTTP请求会通过gRPC转发给这些微服务。此外还会同时处理JWT验证。本文由两部分组成,第二部分请点击这里。我们要创建什么应用呢?我们会一起构建一套小型电商系统,项目使用Go语言进行开发。应用架构本系列文章分成两个部分:……继续阅读 » Alan 2年前 (2022-07-27) 2387浏览 0评论0个赞
结构体是包含多个字段的集合类型,用于将数据组合为记录。这样可以将与同一实体相关联的数据利落地封装到一个轻量的类型定义中,然后通过对该结构体类型定义方法来实现不同的行为。本文会尝试从内存利用和CPU周期的角度讲解如何高效编写struct。我们来看下面这一结构体,这是我们一个奇怪用例所定义的terraform资源类型: ty……继续阅读 » Alan 2年前 (2022-07-26) 980浏览 0评论0个赞
Python 基本就是一堆封装着语法糖的字典。-Lalo Martins,早期数字游民和 Python 专家在所有的Python程序中都会使用到字典。即便没在代码中直接使用,也是间接用到,因为dict类型是Python实现的一个基础。类和实例发不发、模块命名空间以及函数关键词参数都是在内存以及字典表示的核心Python结构。__builtins__.__……继续阅读 » Alan 2年前 (2022-06-24) 2035浏览 3个赞
Rust给作者写书带来了挑战:这种语言的特点不是可以放在一页纸中吹嘘的某一个具体牛逼的特性,而是其精巧设计的每个部分共同平滑实现最后一章所提出的目标:安全、高性能编程。语言的每一部分都与其它部分进行了完美的结合。因此我们不是先一个个讲解语言特性,而是准备了一些小而完整的程序,每个程序都会涉及到语言的一些特性:热身程序里对命令行参数进行简单运算,同时包含……继续阅读 » Alan 2年前 (2022-06-17) 1826浏览 0评论1个赞
在前面的文章中,我们学习了如何使用模型层构建应用数据结构,然后使用ORM API 和记录集查看和操作这些数据。本章中,我们把前面所学串到一起实现一些应用中常见的逻辑模式。我们会学习一起触发业务逻辑的方式,以及支撑这些方式的一些常见模式。我们还将学习一些重要的开发技巧,如打日志、调试和测试。本章的主要内容有学习项目-图书借阅模块触发业务逻辑的方式理……继续阅读 » Alan 2年前 (2022-06-11) 7551浏览 5评论16个赞
在前面的章节中,我们概览了模型创建以及如何向模型加载数据。现在我们已有数据模型和相关数据,是时候学习如何编程与其进行交互了。业务应用需要业务逻辑来计算数据、执行验证或自动化操作。Odoo框架API为开发者提供了工具用于实现这种业务逻辑。大多数时候是查询、转换及写入数据。Odoo在底层数据库之上实现了一个ORM(对象关系映射)层。ORM提供了API(应用程……继续阅读 » Alan 3年前 (2022-06-05) 3929浏览 0评论5个赞
本章我们更进一步学习模型层,以及如何使用模型来设计支撑应用的数据结构。我们会探讨可用的模型类型,以及在使用这些类型时如何定义强制进行数据验证的约束。模型由支持不同数据类型的数据字段组成,一些字段类型支持定义模型间的关联。对于字段更高级的使用包含使用具体的业务逻辑自动计算的值。本文的主要内容有:学习项目 – 优化图书应用创建模型创建字段……继续阅读 » Alan 3年前 (2022-05-28) 3695浏览 1评论8个赞