logo头像

Aoho's Blog

微服务

分布式系统高可用实战之限流器(Go 版本实现)

分布式系统高可用实战之限流器(Go 版本实现) 本文作者陈浩,Jason Cheney,目前就职于海外电商大厂shopee。 限流器,顾名思义用来对高并发的请求进行流量限制的组件。 限流包括 Nginx 层面的限流以及业务代码逻辑上...

微服务统一认证与授权的 Go 语言实现(下)

微服务统一认证与授权的 Go 语言实现(下)

上一篇文章介绍了微服务架构中的统一认证与授权相关概念,以及授权服务器实现涉及到的结构体和服务接口。本文主要介绍统一认证与授权服务实现的重点: TokenGrant 令牌生成器、 TokenService 令牌服务以及其他的实现。 整体...

微服务统一认证与授权的 Go 语言实现(上)

各位读者朋友鼠年大吉,祝各位新的一年身体健康,万事如意! 最近疫情严重,是一个特殊时期,大家一定要注意防护。很多省份推迟了企业开工的时间,大部分的互联网公司也都是下周开始远程办公。大家可以利用在家的几天时间学习充电,反正也出不去(🙂...

深入了解分布式事务组件 Seata :AT 模式(二)

深入了解分布式事务组件 Seata :AT 模式(二)

在前面一篇文章,我们介绍了阿里开源的分布式事务组件 Seata 的相关概念,重点介绍了 Seata 的 AT 模式。并通过一个 Spring-Cloud-JPA 的案例,演示了 AT 模式的使用入门。本文将会结合 Spring-Clo...

深入了解分布式事务组件 Seata (一)

深入了解分布式事务组件 Seata (一)

分布式事务的问题,在微服务架构中一直是难题。单体应用实现本地事务即可,到了分布式环境,情况就变得复杂。一个请求可能涉及多个服务,上下游存在依赖关系,其中的一环失败,需要将整个事务回滚。笔者在去年上半年开源过一款微服务的分布式事务组件:...

服务注册与发现组件 Eureka 客户端实现原理解析

服务注册与发现组件 Eureka 客户端实现原理解析

在前面的文章介绍了,如何使用服务注册发现组件: Eureka,并给出使用示例。本文在此基础上,将会讲解 Eureka 客户端实现的内幕,结合源码深入实现的细节,知其所以然。客户端需要重点关注以下几点: 从Eureka Server中...

服务注册与发现组件 Eureka 应用实战

服务注册与发现组件 Eureka 应用实战

本文摘录于笔者出版的书籍 《Spring Cloud 微服务架构进阶》 什么是服务注册与发现在传统的单体应用中,组件之间的调用通过有规范约束的接口进行,实现不同模块间良好协作。在微服务架构中,原本的’巨石’应用按照业务被分割成相对独立...

为什么DDD是设计微服务的最佳实践

为什么DDD是设计微服务的最佳实践

在很多的微服务开发团队在设计和实现微服务的时候觉得只要把原来的单体拆小,就是微服务了。但是这不一定是正确的微服务,可能只是一个拆小的小单体。这篇文章让我们从这个话题继续,先看看为什么拆出来的是小单体。 设计微服务的路径依赖困境在微服务...

微服务中集成分布式配置中心 Apollo

微服务中集成分布式配置中心 Apollo

背景随着业务的发展、微服务架构的升级,服务的数量、程序的配置日益增多(各种微服务、各种服务器地址、各种参数),传统的配置文件方式和数据库的方式已无法满足开发人员对配置管理的要求:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完...

gRPC 使用 protobuf 构建微服务

gRPC 使用 protobuf 通信构建微服务,本文代码:GitHub 本文目录: 微服务架构单一的代码库以前使用 Laravel 做 web 项目时,是根据 MVC 去划分目录结构的,即 Controller 层处理业务逻辑,M...