kafka入门教程

本文翻译自:apache_kafka_tutorial.pdf

kafka背景

Kafka最初是由LinkedIn开发,并于2011年成为Apache的一个开源项目,随后在2012变为Apache的一个顶级项目。kafka是由Scala和Java语言编写的的。Kafka是一个基于发布-订阅,具有容错的消息系统。具有高性能,可扩展,分布式等特性。

领域驱动设计书单

  1. 领域驱动设计
    作者:Eric Evans
    推荐理由:领域驱动设计之父写的官方书
    豆瓣链接https://book.douban.com/subject/1629512/

  2. 实现领域驱动设计
    作者:Vaughn Vernon
    推荐理由:《实现领域驱动设计》分别从战略和战术层面详尽地 讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。
    豆瓣链接https://book.douban.com/subject/25844633/

  3. 彩色UML建模
    作者:Peter Coad/Eric Lefebvre/Jeff De Luca
    推荐理由:本书可作为UML建模人员、Java工程师、技术人员的 参考用书。本书是第一本介绍用彩色来表达软件设计的著作。作者用4种颜色来代表4种架构型,给定一种颜色,你就知道这个类可能具有哪些属性、链接、方法和交互。
    豆瓣链接https://book.douban.com/subject/3354137/

  4. 面向对象分析与设计
    作者:Grady Booch / Robert A. Maksimchuk / Michael W. Engel / Bobbi J. Young / Jim Conallen / Kelli A. Houston
    推荐理由:《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到移交阶段将OOAD理论和方法应用到项目中。
    豆瓣链接https://book.douban.com/subject/3892590/

  5. 分析模式
    作者:Martin Fowler
    推荐理由:讲分析的书讲的好的很少,因为确实很难讲,分析模式不是因为他讲的好而好,而是因为他的视角选的好,一本不错的书
    豆瓣链接https://book.douban.com/subject/1237577/

  6. 敏捷软件开发
    作者:Robert C. Martin
    推荐理由:在本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。
    豆瓣链接https://book.douban.com/subject/1140457/

最后:这些书一般中文翻译的都很差,所以英文好点的建议看原版书,反而好理解

jms-如何保证消息的顺序

背景

在特定的业务场景中我们可能需要保证消息消费的顺序性,因此需要消息中间件能提供消息顺序性的保证。JMS规范中有两种消息模型,queuetopic。 队列先天能保证消息的顺序,这是由于它本身的特性来决定的。但JMS不能保证多个队列中消息消费的顺序性,例如先进入队列A的消息并不能保证一定在后进入队列B的消息先被消费。

值传递, 指针传递 这是一个问题

本文转自:http://colobu.com/2017/01/05/-T-or-T-it-s-a-question/

这是我看过的关于值传递和指针传递(或引用传递)理解的比较透彻且有自己思考,观点的好文。

在编程语言深入讨论中,经常被大家提起也是争论最多的讨论之一就是按值(by value)还是按引用传递(by reference, by pointer),你可以在C/C++或者Java的社区经常看到这样的讨论,也会看到很多这样的面试题。

大数据处理总结

本文转载自:教你如何迅速秒杀掉:99%的海量数据处理面试题

前言

一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名 :-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。

毕竟受文章和理论之限,本文将摒弃绝大部分的细节,只谈方法/模式论,且注重用最通俗最直白的语言阐述相关问题。最后,有一点必须强调的是,全文行文是基于面试题的分析基础之上的,具体实践过程中,还是得具体情况具体分析,且各个场景下需要考虑的细节也远比本文所描述的任何一种解决方法复杂得多。

|