标签: 微服务

软件架构:通过 CDC 技术聚合多个微服务的数据

本文讨论 CDC 技术在微服务开发中的应用。在使用微服务以后,除了微服务带来的优势,随之而来的也有以前使用单体应用时不曾遇到的问题,比如:分库以后的多表联查、数据一致性等问题。本文将讨论以下两大问题应用 CDC 技术的解决方案: 分库后的多表联查 CQRS(读写分离) 实时数仓 数据一致性 采用事件消息表实现事件驱动性设计 基于最终一致性的分布式事物 有关 CDC 的更详细介绍可以参考

微服务:代码分层

本篇是微服务系统的第一篇,我将基于自身的经验和在公司项目中的实践来记录我们施行微服务的过程和方式。

微服务开放环境:Spring & Akka & Docker

随着微服务的流行,服务拆分与服务依赖越来越多,想在本机搭建一套完整的开发环境愈来愈有挑战。代码服务还好,多开几个 IDE 并启动多个应用服务即可,但若你使用了多种数据库系统、缓存系统、消息系统等时,在本机手动安装就非常繁琐了……可以通过 Docker 来简化这些系统的安装。 本文是对近一年微服务开发环境实践记录,我们在微服务开发中混合使用了 Spring Cloud 框架和 Akka 库,同时应用

微服务下的用户系统设计

简述微服务下的用户系统从设计与传统单体应用是不一样的,传统单体应用下本质上用户系统是一个模块。用户系统是与整个应用紧耦合在一起的,具体来说,它们共享一套代码、一个数据库、通过代码级的API调用…… 而微服务下的用户系统设计很不一样,因为微服务的特点,各功能都独立成一个Server在运行,那用户系统首先需要支持远程的API调用。基本来说,微服务下的用户系统设计需要满足以下要求: 独立的用户系统:用

Akka实战:构建REST风格的微服务

使用Akka-Http构建REST风格的微服务,服务API应尽量遵循REST语义,数据使用JSON格式交互。在有错误发生时应返回:{"errcode":409,"errmsg":"aa is invalid,the ID is expected to be bb"}类似的JSON错误消息。 代码: https://g