Apache Kafka 分布式流处理平台技术详解与实践指南
Kafka 架构概述与设计哲学1.1 分布式消息系统演进传统消息队列系统面临的主要挑战: 吞吐量限制:单机消息队列无法处理海量数据流 可靠性不足:消息丢失和重复消费问题难以避免 扩展性差:水平扩展困难,系统容量受限 实时性不足:批处理模式无法满足实时需求 1.2 Kafka 的设计目标Kafka 的设计遵循以下几...
《Akka应用模式:分布式应用程序设计实践指南》读书笔记9
性能 这也是一个比较大的问题,因为性能不一定是Akka本身的问题,还可能是你代码写的有问题。 优化的第一步就是找出性能的瓶颈,隔离出应用程序里面比较耗时的部分,然后尝试对其优化,减少需要耗费的时间成本。其实有时候对性能进行度量往往比优化性能还重要,因为你在度量性能的时候,已经在思考哪些可能是性能瓶颈了,这过程中就会不由自主的对其进行了优化。性能测试往往是找出那些超出预期的性能问题。 隔离....
《Akka应用模式:分布式应用程序设计实践指南》读书笔记8
可用性 简单点来说就是系统能否正常使用。如果系统能够及时响应一个请求,则认为是可用的;如果响应时间过长或者根本不响应,则是不可用的。系统在停机或超载时是不可用的。一般用系统正常运行时长的百分比来计量系统的可用性,例如常常用N个9表示系统的可用性。故障时间秒数=(1-可用性) * 365 * 24 * 3600 描述 通俗叫法 可用性级别 年度停机时间 基本可用性 2个9 99% 87...
《Akka应用模式:分布式应用程序设计实践指南》读书笔记7
容错 容错绝对是分布式系统最难搞定的事儿,至少我这样认为,因为意外总是会发生。 处理故障在许多方面意味着要放弃全局一致性。Akka是基于不粗要调用方负责处理故障的想法而建立的。它主张由发生故障的actor负责处理问题,在actor不能处理的情况下,会向其“监督者”寻求帮助。由于Actor模型基于消息机制设计,就意味着系统的很多部分都是异步的,异步又进一步导致出现故障时解决问题的难度。而A....
《Akka应用模式:分布式应用程序设计实践指南》读书笔记6
一致性和可扩展性 一致性是系统内比较复杂的属性,它会随着系统的变化而变化。简单来说,一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。一旦系统具有并行性(分布式只是并行的一种表现),保持一致性就变得困难了,毕竟需要协调全局状态。 事务和一致性 一致性意义上的事务是指单一的原子操作。也就意味着一系列操作要么全成功,要么全不成功,不涉及中间状态。比如A转账给B,不....
《Akka应用模式:分布式应用程序设计实践指南》读书笔记4
优秀的Actor设计 我看到这一章节真是如获至宝,毕竟它阐释了如何使用Akka,以及优秀的设计模式。 大系统小做 其实作者想告诉我们的是要尽量提前关注actor级别的设计,而不是仅仅考虑大的架构。因为设计一个分布式、高并发的系统时,actor的功能边界也非常重要,下层基础决定上层建筑。 封装actor中的状态 actor一个非常重要的特性就是以线程安全的方式管理状态。所以状态对于ac....
《Akka应用模式:分布式应用程序设计实践指南》读书笔记3
分布式领域驱动设计 DDD领域驱动设计,应该就是一种系统设计的方法论,可以知道人们设计软件。其实老外就喜欢总结一些方法论用于指导实践,这一点还是很重要的。 DDD概述 DDD是一套关于软件架构的指导原则。最重要的概念就是域模型。“域”是构成尝试建模的业务或领域的一组要求、约束和概念。我们可以理解成一个设计良好的OOP中的一个类,但在DDD中域更加注重描述业务领域。但OOP中的一个类主要是....
《Akka应用模式:分布式应用程序设计实践指南》读书笔记2
Akka简介 Akka是什么:“Akka是在JVM上构建高并发、分布式、弹性消息驱动应用的开源工具包”。弹性意味着要积极响应失败情况,从失败中恢复的能力。 其实Akka的定义很符合响应式领域模型,这个模型有几个基本特征: 1、弹性。面对失败的响应能力 2、伸缩性。不同负载情况下的响应 3、消息驱动。高内聚低耦合,通过异步消息隔离 4、响应能力。限定延迟 如果一个Akk....
《Akka应用模式:分布式应用程序设计实践指南》读书笔记1
作者属于Scala、Akka技术爱好者,但苦于Akka没有关于设计模式的文章,偶尔搜到《Akka应用模式》一书,如获至宝。现整理一些读书笔记和自己的感悟,以供参考。 Actor模型 Actor模型感觉还是很给力的,要是按我以前学习actor模型,绝对会对他嗤之以鼻,这玩儿意能干啥。哈哈哈,只能说当时年轻气盛吧。 现实是最终一致的。 作者举了一个例子说明了一下,Actor模型的设计哲学...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
阿里云分布式应用服务
企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是应用全生命周期管理和监控的一站式PaaS平台,支持部署于 Kubernetes/ECS,无侵入支持Java/Go/Python/PHP/.NetCore 等多语言应用的发布运行和服务治理 ,Java支持Spring Cloud、Apache Dubbo近五年所有版本,多语言应用一键开启Service Mesh。
+关注