之前我们简单介绍过 Go-zero 详见<Go-zero:开箱即用的微服务框架>.这次我们从动手实现一个 Blog 项目的用户模块出发,详细讲述 Go-zero 的使用. 特别说明本文涉及的所有资料都已上传 Github 仓库 "kougazhang/go-zero-demo", 感兴趣的同学可以自行下载. Go-zero 实战项目:blog 本文以 blog 的网站后台为例,着重介绍一下如何使用 Go-zero 开发 blog 的用户模块. 用户模块是后台管理系统常见的模…
go-zero 是一个集成了各种工程实践的 Web 和 rpc 框架,它的弹性设计保障了大并发服务端的稳定性,并且已经经过了充分的实战检验. go-zero 在设计时遵循了 "工具大于约定和文档" 的理念,所以 go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 API 文件一键生成 Go.iOS.Android.Kotlin.Dart.TypeScript.JavaScript 代码,并可直接运行. 如上图所示,不同客户端的请求都会先进入 go-zero…
一.基础篇 1.1 开篇说明 dubbo是一个分布式服务框架,致力于提供高性能透明化RPC远程调用方案,提供SOA服务治理解决方案.本文旨在将对dubbo的使用和学习总结起来,深入源码探究原理,以备今后可以作为借鉴用于工作之中. 由于dubbo各个分层都是很多扩展,比如注册中心有redis.zookeeper选项,通信模块有netty.mina,序列化有hession.hession2.java序列化等,本文不能面面俱到,重点阐述主线流程,注册中心选择zookeeper(client选择cura…
背景 Lagom是JAVA系下响应式 微服务框架,在阅读本文之前请先阅读微服务架构设计,Lagom与其他微服务框架相比,与众不同的特性包括: 目前,大多数已有的微服务框架关注于简化单个微服务的构建--这是比较容易的一部分内容.Lagom将其扩展到了微服务所构成的系统,这是大型的系统--也是较为困难的一部分内容,因为在这里我们会面临到分布式系统的复杂性. 通信默认是异步的--基于消息和流--但是,如果需要的话,也考虑到了使用其他的方案,如同步的REST. 持久化默认是基于事件的--使用事件溯源Ev…
go-zero 是一个集成了各种工程实践的 Web 和 rpc 框架,它的弹性设计保障了大并发服务端的稳定性,并且已经经过了充分的实战检验. go-zero 在设计时遵循了 "工具大于约定和文档" 的理念,所以 go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 API 文件一键生成 Go.iOS.Android.Kotlin.Dart.TypeScript.JavaScript 代码,并可直接运行. 如上图所示,不同客户端的请求都会先进入 go-zero…
作者|宋瑞国(尘醉) 来源|尔达 Erda 公众号 ​ 导读:Erda Infra 微服务框架是从 Erda 项目演进而来,并且完全开源.Erda 基于 Erda Infra 框架完成了大型复杂项目的构建.本文将全面.深入地剖析 Erda Infra 框架的架构设计以及如何使用. Erda Infra: https://github.com/erda-project/erda-infra Erda: https://github.com/erda-project/erda 背景 在互联网技术高速…
本文我们来讲解一下如何使用 gRPC构建微服务,gRPC是一个开源框架,可用于构建可扩展且高性能的微服务并创建服务之间的通信. 背景 随着企业越来越多地转向微服务,对构建这些微服务的低延迟和可扩展框架的需求也在增加.为了满足这一需求,各种工具和框架提供商正加快满足微服务需求.同时从构建大型微服务应用程序的经验中学习,技术专业人士分享他们对可重用组件的知识,以便其他人可以构建具有相同规模和性能的架构. 什么是 gRPC gRPC 是一个开源框架(由 Google 创建),是一个通用的 RPC 框架…
前一阵开源过一个基于spring-boot的rest微服务框架,今天再来一篇基于thrift的微服务加框,thrift是啥就不多了,大家自行百度或参考我之前介绍thrift的文章, thrift不仅支持tcp/ip协议的rpc调用,也支持http协议的rest服务调用,同一个项目中甚至可同时支持这二种方式.thrift项目2007年由facebook开源以来,已经有无数成功的应用,完全可以基于这一框架来设计自己的服务架构,示意图如下: github上我开源了基于thrift的微服务框架,地址:h…
周末在家研究spring-boot,参考github上的一些开源项目,整了一个rest微服务框架,取之于民,用之于民,在github上开源了,地址如下: https://github.com/yjmyzz/spring-boot-rest-framework 主要特性如下: ----------------- 数据访问 dao采用mybatis 3.3.0 + tk.mybatis通用Mapper3.1.3 , 支持事务回滚 数据库初始化脚本 见src/mybatis-generator/ddl…
  当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,开发效率上的问题. 之前研究go的微服务架构go-kit最让人头疼的就是定义服务之后,还要写很多重复的框架代码,一直再想如何使用IDL描述服务,然后自动生成框架代码. 直到遇到老这货 goa,另外一个go的微服务框架.具体介绍看这篇,还有官网.   这货实现了框架的代码自动生成(自动生成的代码可以热更新,因为生成代码和自己写的代码是分开的),而且理念也比较时髦,基于API设计,利用插件来扩展业务逻辑.   于…