关闭

深度长文:我对CQRS/EventSourcing架构的思考

开始之前想先说一下微服务架构和CQRS架构的区别和联系。 微服务架构现在很热,到处可以看到各大互联网公司的微服务实践的分享总结。但是,我今天的分享和微服务没有关系,希望可以带给大家一些新的东西。 如果一定要说微服务和CQRS架构的关系,那我觉得微服务是一种边界思维,微服务的目的是为了从业务角度拆分(职责分离)当前业务领域的不同业务模块到不同的服务,每个微服务之间的数据完全独立,它们之间的交互可...
阅读(140) 评论(0)

Kafka深度解析

背景介绍 Kafka简介   Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输同时支持离线数据...
阅读(72) 评论(0)

Kafka设计解析(四)- Kafka Consumer设计解析

摘要   本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以及适用场景。以及未来版本中对High Level Consumer的重新设计–使用Consumer Coordinator解决Split Brain和Herd等问题。 High Level Co...
阅读(50) 评论(0)

Kafka消费组(consumer group)

一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少。最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时机成熟了,于是写下这篇文章讨论并总结一下新版本consumer的些许设计理念,希望能把consumer这点事说清楚,从而对广大使用者有所帮助。 在开始之前,我想花一点时间先来明确一些概念和术语,...
阅读(111) 评论(0)

部署私有Docker Registry

安装部署一个私有的Docker Registry是引入、学习和使用Docker这门技术的必经之路之一。尤其是当Docker被所在组织接受,更多人、项目和产品开始接触和使用Docker时,存储和分发自制的Docker image便成了刚需。Docker Registry一如既往的继承了“Docker坑多”的特点,为此这里将自己搭建”各类”Registry过程中执行的步骤、遇到的问题记录下来,为己备忘...
阅读(105) 评论(1)

什么是CQRS?

这个问题网上可以找到很多资料,未接触过的童鞋请先查看Udi Dahan, Grey Young, Rinat Abdullin,园子里dax.net,以及Jdon社区上的相关文章。 例如下面几篇文章: 1. http://www.cnblogs.com/daxnet/archive/2011/01/06/1929099.html 1. http://www.udidahan.com/200...
阅读(83) 评论(0)

CQRS架构

命令查询的责任分离Command Query Responsibility Segregation (简称CQRS)模式是一种架构体系模式,能够使改变模型的状态的命令和模型状态的查询实现分离。这属于DDD应用领域的一个模式,主要解决DDD在数据库报表输出上处理方式。   Greg Young在infoQ的采访中“State Transitions in Domain-Driven Design”...
阅读(82) 评论(0)

微服务进展缓慢的5个难点

前言 笔者从2013年加入ThoughtWorks至今共4年时间。在这4年时间里,我分别以开发人员、DevOps工程师、DevOps咨询师、微服务架构师以及微服务咨询师的角色参与了共计7个产品和项目的微服务咨询和实施。其中有成功,有失败,有反思,更多的是学习和总结。以下是我这些年来在微服务咨询上的经验总结,希望能给陷入微服务实施困境的人带来一些帮助。 难...
阅读(95) 评论(0)

提升微服务实施效率的7个步骤

《微服务进展缓慢的5个难点》中描述了实施微服务常见的主要阻碍。本文针对前文提到的5个难点提出了7个步骤。每个步骤分别包含了管理和技术两方面的建议。 如果以上5点都让你膝盖中箭。那么根据我个人的经验,综合解决微服务实施难点的第一步就是: 步骤1:以终为始,先构建一个独立的敏捷微服务团队 我们对微服务的期待就是:可以独立开发、独立部署、独立发布,并且进行去中心化的管理。那么,我们...
阅读(183) 评论(0)

opentracing文档中文版

为什么需要Tracing? 开发和工程团队因为系统组件水平扩展、开发团队小型化、敏捷开发、CD(持续集成)、解耦等各种需求,正在使用现代的微服务架构替换老旧的单片机系统。也就是说,当一个生产系统面对真正的高并发,或者解耦成大量微服务时,以前很容易实现的重点任务变得困难了。过程中需要面临一系列问题:用户体验优化、后台真是错误原因分析,分布式系统内各组件的调用情况等。当代分布式跟踪系统(例如,Zip...
阅读(118) 评论(0)

微服务 | Martin Fowler

“微服务架构”这一术语在前几年横空出世,用于描述这样一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软件应用系统的设计。尽管这种架构风格尚无明确的定义,但其在下述方面还是存在一定的共性,即围绕业务功能的组织、自动化部署、端点智能、以及在编程语言和数据方面进行去中心化的控制。 本文目录 微服务架构的九大特性 特性一:“组件化”与“多服务” 特性二:围绕“业务功能”组织...
阅读(138) 评论(0)

Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 2

Key Takeaways Event Sourcing is a technique for reliably updating state and publishing events that overcomes limitations of other solutions.The design concepts for an event-driven architecture, usi...
阅读(87) 评论(0)

Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 1

https://www.infoq.com/articles/microservices-aggregates-events-cqrs-part-1-richardson Key takeaways The Microservice architecture functionally decomposes an application into services, each of wh...
阅读(61) 评论(0)

微服务熔断与隔离

摘要: 微服务是当前业界的一个趋势,其原理是将职责单一的功能独立化成子服务,一个后台服务依赖多个微服务。假设某服务由30个微服务组成,每个微服务的可用性是99.99%,那么99.99%的30次方≈99.7%,也就是说有0.3%的请求会失败,若有一亿次请求则有300000次失败。熔断隔离就是为服务稳定性而生。 微服务近年来很火很热,相关的文章汗牛充栋,关于架构设计本文就不作叙述了,只谈谈在分布式服...
阅读(64) 评论(0)

Service Discovery in a Microservices Architecture

Why Use Service Discovery? Let’s imagine that you are writing some code that invokes a service that has a REST API or Thrift API. In order to make a request, your code needs to know the network locat...
阅读(383) 评论(0)
487条 共33页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:449074次
    • 积分:5077
    • 等级:
    • 排名:第6064名
    • 原创:23篇
    • 转载:463篇
    • 译文:1篇
    • 评论:32条
    最新评论