【Reading】2014-07, 08

来源:互联网 发布:电脑发手机短信软件 编辑:程序博客网 时间:2024/05/23 00:10

Lamda Architecture

http://radar.oreilly.com/2014/07/questioning-the-lambda-architecture.html

这篇文章出自Linkedin工程师之手,主要讨论了Lambda Architecture的优缺点。最常见的Lambda实现是Hadoop做Batch Layer,Storm做Speed Layer,而HBase做Serving Layer。文章作者认为这需要维护两套处理逻辑相同的代码,因为Hadoop和Storm的编程接口是不一样的。他提出可以用stream processing框架同时做Batch和Speed Layer。

http://www.mapr.com/developercentral/lambda-architecture

http://jameskinley.tumblr.com/post/37398560534/the-lambda-architecture-principles-for-architecting

文章主要是描述了Lambda Architecture的一种典型实现方式。


HBase

http://blog.cloudera.com/blog/2012/06/hbase-write-path/

文章描述了写HBase的大致过程,理解为什么HBase可以在append-only的HDFS之上实现random write

http://blog.sematext.com/2012/07/16/hbase-memstore-what-you-should-know/

文章讨论了memstore的作用以及一些调优配置,memstore是实现random low-latency write的关键环节。


Service Routing/Registry

http://jasonwilder.com/blog/2014/02/04/service-discovery-in-the-cloud/

文章讨论了service discovery的作用以及几个开源实现。

http://aws.amazon.com/route53/

Route 53是AWS提供的一个proxy-based router/load balancer。

http://www.rackspace.com/blog/service-registry-behind-the-scenes-why-we-built-it/

http://www.rackspace.com/blog/keep-track-of-your-services-and-applications-with-the-new-rackspace-service-registry/

Rackspace提供的service registry


Client Failover

http://blog.cloudera.com/blog/2012/03/high-availability-for-the-hadoop-distributed-file-system-hdfs/

其中一节介绍了HDFS的Client Failover。有意思的一点是提供特别的annotation来判断方法的idempotence(幂等性),以决定是否做failover。

http://activemq.apache.org/failover-transport-reference.html

介绍了ActiveMQ的failover机制。

它们的共同特点是在Client端配置多个Server URI,然后由Client library来负责按顺序尝试连接,第一个失败failover到第二个,依次类推。


YARN Resource Manager Resiliency

http://zh.hortonworks.com/blog/rm-yarn-resilience/

http://zh.hortonworks.com/blog/apache-hadoop-yarn-resilience-hadoop-yarn-applications-across-resourcemanager-restart-phase-1/

http://zh.hortonworks.com/blog/resilience-apache-yarn-applications-across-resourcemanager-restart-phase-2/

这3篇系列文章介绍了如何避免RM成为单点故障,即RM即使挂掉,重启后能够恢复之前的app,而不需要client重新提交。到了Phase 1,RM重启后,将之前正在运行的app停掉,然后由RM自动重新提交;到了Phase 2,之前正在运行的app都可以继续运行,不需要重新提交。

0 0