标签 ‘ 架构

《软件架构》事件驱动架构

你好,我是看山。

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《软件架构》 中关于事件驱动的内容,虽然是 2014 年的文章,但是从软件架构层面上,并不过时。

以下是正文。

事件驱动架构是一种系统或组件之间通过发送事件和响应事件彼此交互的架构风格。当某个事件发生时,组件A不直接调用组件B,而只是发出一个事件。组件A不知道哪些组件监听并处理这些事件。事件驱动架构可以在进程内和进程间使用。比如,GUI框架中会大量使用事件驱动。【译者注:目前很多系统采用微服务架构,事件驱动使用的更加广泛了。】此外,正如我在并发模型教程 中所提到的,装配线并发模型(AKA reactive,非阻塞并发模型)也使用了事件驱动架构。

本文主要介绍进程之间的事件驱动架构,后文提到这个词的时候也是指进程交互方式。

阅读全文

《软件架构》缓存技术

本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《软件架构》 中关于缓存技术的内容,虽然是 2014 年的文章,但是从软件架构层面上,并不过时。

缓存

缓存是一种加速数据查找(数据读取)的技术,直接读取本地缓存的数据,而不是从数据源读取数据,数据源包括数据库、其他远程系统。caching 阅读全文

《软件架构》RIA 架构

原文地址

RIA(富Internet应用程序)是web应用程序的特殊种类,其用户界面的功能比第一代和第二代web应用程序丰富得多。这种web应用程序看起来更像是桌面应用程序。RIA的用户界面通常使用HTML5 + JavaScript + CSS3, Flex (Flash), JavaFX, GWT, Dart等等RIA工具开发。从长远来看,HTML5 + JavaScript + CSS3的各种变体似乎会成为主流(可以将GWT和Dart编译为JavaScript)。

RIA用户界面更加丰富的GUI客户端功能也让web应用程序的内部架构和设计有所变化。与第一代和第二代的web应用程序相比,RIA用户界面和其后端通常分离地更加干净。这使RIA GUI更加独立于服务端,同样因此GUI开发人员和服务端开发人员可以并行协作。我将在本文中说明RIA如何做到上述事情,在此之前我先介绍下第一代和第二代web应用程序的内部设计通常是怎样的。

阅读全文

《软件架构》N 层架构

原文链接 译文链接 译者:杨逸林 校对:方腾飞

N 层架构意味着将系统拆分为 N 层,N ∈ [1,+∞)。单层架构与单进程架构一样。双层架构和客户端/服务端架构一样等等。 三层架构是一种非常常见的架构。三层架构通常分为表现层/GUI 层、业务逻辑层以及数据持久化层。下图说明了三层架构: N 层架构.png

阅读全文

为什么说Java程序员到了必须掌握 Spring Boot 的时候?

Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spring Boot 的热情,那么在这么多人热衷于学习 Spring Boot 之时,我自己也在思考: Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot? 传统企业使用 Spring Boot 会给我们带来什么样变革?

带着这些问题,我们一起来了解下 Spring Boot 到底是什么?

阅读全文

为什么我们放弃了Vue?Vue和React深度比较

我使用Vue和React已经很长一段时间了,两个框架上实践代码量都在10万行以上。不得不说都是都很不错的,帮助开发者减少很多工作量,某种框架是现代化Vue和React在两者之间的选择并不像选择苹果或香蕉一样简单,两者在工程实践上的差异让我们逐渐放弃了Vue。此处以不一样的角度对彼此进行深度对比。

阅读全文

《Istio官方文档》什么是Istio——综述

原文链接  译者:carvendy

综述

  本文介绍Istio:开源的连接,管理和安全的微服务。Istio提供了一种简单方式,让发布的服务创建连接并实现负载均衡,服务间的认证,监控,还有更多,而在服务中不需要改变任何代码。接入Istio,支持服务由特定的代理发布,在服务之间会拦截网络通信并贯穿你的环境,使用Istio可以配置和管理整个面的够功能特性。

  Istio当前只支持服务发布到Kubernetes,而其他的环境将会在未来的版本中才支持。

  为了了解更更多关于Istio组件的细节上和概念上的东西,可以看看概念指南。

阅读全文

return top