Archive for the ‘ Framework ’ Category

软件架构模式-第二章事件驱动架构(上)

原文地址  译者:克里斯托刘

事件驱动架构模式是一个非常流行的异步分布模式,可生成高可扩展性应用。而且它也具有强适应能力,可被用于小程序或者大型复杂程序。事件驱动架构是由高耦合度、单一目的的事件处理模块构成,这些模块异步接收、处理事件。

事件驱动架构模式有两种主要拓扑结构,“调度员”(mediator)和“经纪人”(broker)拓扑结构。“调度员”拓扑结构通常用在一个事件中由多个步骤组成,而你需要通过中央“调度员”模块去调度这些步骤。然而“经纪人”结构是当需要执行一系列事件链,而不需要中央“调度员”模块。由于这两种结构的特征和执行策略不同,深入理解两者的用法能帮助你在自己的案例中做出正确的判断。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 软件架构模式-第二章事件驱动架构(上)

软件架构模式-第一章分层架构(下)

原文地址  译者:克里斯托刘

模式实例

为更好描述分层架构怎样工作,考虑一个业务从业人员获取特定目标用户信息的需求,如图1-4所示。黑色箭头标志一路下到数据库的获取用户数据的请求流向,而红色箭头显示从下往上直到显示数据的屏幕这一数据反馈流向。在这个例子中,客户信息包含客户数据及订单数据(用户下的订单)。“用户屏幕”负责接收查询请求和显示用户信息,它并不知道数据在哪里、如何获取它、有多少数据库表格需要查询才能满足查询请求。一旦“用户屏幕”接收到查询客户信息的请求,它接着传递请求到“用户代理”模块。这个模块知道业务层中哪个模块可以处理该请求,同时知道如何调用该模块、传递哪些参数给该模块。业务层中的“用户类”负责收集所有业务请求需要的信息。该模块调用持续层的“用户数据访问接口”(Dao data access object)模块获取用户数据;调用“订单数据访问接口”模块获取订单信息。这些模块接着执行SQL语句去获得相关数据,再传递回业务层的“用户类”模块。一旦“用户类”获得数据,它会收集订单和用户信息两块数据同时传递回“用户代理”模块,“用户代理”模块继而传递数据回“用户屏幕”呈现给使用者。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 软件架构模式-第一章分层架构(下)

《KAFKA官方文档》入门指南

1.入门指南

1.1简介

Apache的Kafka™是一个分布式流平台(a distributed streaming platform)。这到底意味着什么?

我们认为,一个流处理平台应该具有三个关键能力:

  1. 它可以让你发布和订阅记录流。在这方面,它类似于一个消息队列或企业消息系统。
  2. 它可以让你持久化收到的记录流,从而具有容错能力。
  3. 它可以让你处理收到的记录流。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《KAFKA官方文档》入门指南

《软件架构模式》-第一章分层架构(上)

原文地址  译者:克里斯托刘

第一章

分层架构

最通常的架构模式就是分层架构模式,即所谓的N层架构。这种模式对大部分JAVAEE应用程序来说是标准模式,因此被大部分架构师、软件设计师、开发者广泛知晓。由于分层架构模式和公司里传统的IT沟通以及组织结构非常类似,使得它成为大多数商务应用开发最自然的选择。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《软件架构模式》-第一章分层架构(上)

《TOGAF 9.1IT企业架构》什么是TOGAF

原文链接  原文作者:Wolfgang W.Keller  译者:克里斯托刘

1.1 什么是TOGAF 9.1

目前TOGAF这个开源架构框架是全世界非常流行的企业IT架构(EITA)。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《TOGAF 9.1IT企业架构》什么是TOGAF

简单了解Disruptor

1.   Disruptor是什么

1.1   技术背景

LMAX是在英国注册并受到FCA监管(监管号码为509778)的外汇黄金交易所, LMAX架构是LMAX内部研发并应用到交易系统的一种技术。它之所以引起人们的关注,是因为它是一个非常高性能系统,这个系统是建立在JVM平台上,核心是一个业务逻辑处理器,官方号称它能够在一个线程里每秒处理6百万订单.

一个仅仅部署在4台服务器上的服务,每秒向Database写入数据超过100万行数据,每分钟产生超过1G的数据。而每台服务器(8核12G)上CPU占用不到100%,load不超过5。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 简单了解Disruptor

小规模的流处理框架.Part 1: thread pools

原文链接 作者:Tomasz Nurkiewicz 译者:simonwang
(译者:强力推荐这篇文章,作者设计了一个用于小流量的流式数据处理框架,并详细给出了每一个需要注意的设计细节,对比了不同设计方案的优缺点,能够让你对流处理过程,某些设计模式和设计原则以及指标度量工具有一个更深刻的认识!)
GeeCON 2016上我为我的公司准备了一个编程竞赛,这次的任务是设计并实现一个能够满足以下要求的系统:
Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 小规模的流处理框架.Part 1: thread pools

带着问题学 Spring MVC 源码: 一、概述

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!

简单就好,生活可以很德国

Q:什么是 Spring MVC ? ※

Spring MVC 是 Spring Web 的一个重要模块。Spring 支持 Web 应用,Spring MVC 是对 MVC 模式的支持。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 带着问题学 Spring MVC 源码: 一、概述

SLF4J 扩展

原文链接: SLF4J extensions   译者:D瓜哥

SLF4J 扩展被打包在 slf4j-ext.jar里,它随着 SLF4J 一起发布。

主要内容包含如下几部分:

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: SLF4J 扩展

Akka简单性能分析

因为最近工作的关系,要把异步任务从应用服务器中拆分到专门的异步处理服务器中。

方案一

是采用MQ的方式将任务消息发出,在服务端进行处理,如下图所示:

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Akka简单性能分析

Spring4.2新特性(一)

1. 简介.

前些天spring4.2出来了, 从GA开始就一直在跟了, 前2天看完了所有官方Release Notes, 觉得记录下我比较感兴趣的特性.

我看的是4.2GA, 4.2RC3, 4.2RC2, 4.2RC1。4.04.1的新特性, 可以看看涛哥的博客。这里主要是讲照官方文档里面列的, changelog里面太多了 -.-!

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Spring4.2新特性(一)

AKKA文档(java版)—容错

原文链接  译者:小鱼

正如角色系统这一章中解释的一样,每一个角色都是它孩子的监管者,并且像这样的角色都会定义错误处理监管策略。这个策略在成为角色系统结构的一个完整部分之后是不能被改变的。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: AKKA文档(java版)—容错

跟着实例学习ZooKeeper的用法: Curator扩展库

还记得Curator提供哪几个组件吗? 我们不妨回顾一下:

  • Recipes
  • Framework
  • Utilities
  • Client
  • Errors
  • Extensions

前面的例子其实前五个组件都涉及到了, 比如Utilities例子的TestServer, Client里的CuratorZookeeperClient, Errors里的ConnectionStateListener等。 还有最后一个组件我们还没有介绍,那就是Curator扩展组件。 Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 跟着实例学习ZooKeeper的用法: Curator扩展库

跟着实例学习ZooKeeper的用法: 队列

使用Curator也可以简化Ephemeral Node (临时节点)的操作。Curator也提供ZK Recipe的分布式队列实现。 利用ZK的 PERSISTENTSEQUENTIAL节点, 可以保证放入到队列中的项目是按照顺序排队的。 如果单一的消费者从队列中取数据, 那么它是先入先出的,这也是队列的特点。 如果你严格要求顺序,你就的使用单一的消费者,可以使用leader选举只让leader作为唯一的消费者。

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 跟着实例学习ZooKeeper的用法: 队列

跟着实例学习ZooKeeper的用法: Curator框架应用

前面的几篇文章介绍了一些ZooKeeper的应用方法, 本文将介绍Curator访问ZooKeeper的一些基本方法, 而不仅仅限于指定的Recipes, 你可以使用Curator API任意的访问ZooKeeper。

CuratorFramework

Curator框架提供了一套高级的API, 简化了ZooKeeper的操作。 它增加了很多使用ZooKeeper开发的特性,可以处理ZooKeeper集群复杂的连接管理和重试机制。 这些特性包括:

  • 自动化的连接管理: 重新建立到ZooKeeper的连接和重试机制存在一些潜在的错误case。 Curator帮助你处理这些事情,对你来说是透明的。
  • 清理API:
    • 简化了原生的ZooKeeper的方法,事件等
    • 提供了一个现代的流式接口
  • 提供了Recipes实现: 如前面的文章介绍的那样,基于这些Recipes可以创建很多复杂的分布式应用

Read more

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 跟着实例学习ZooKeeper的用法: Curator框架应用

return top