每周一荐:分布式计算的模式语言

TMS320F28335 DSP实战:电机控制与数字电源的实时控制选型指南 数字信号处理器(DSP)是工业实时控制的核心计算单元,其价值在于通过硬件级外设协同实现确定性的计算与响应。以C28x内核为代表的经典架构,凭借硬件浮点单元和高分辨率PWM、ADC触发等机制,解决了电机控制与数字电源中高频开关、快速电流环和逐周期保护等关键问题。在伺服驱动、变频器、储能变流器等场景中,DSP的实时控制能力直接影响系统动态性能与可靠性。本文以TMS320F28335为例,剖析其架构原理、外设协同逻辑,并结合电机控制和数字电源的实际工程经验,探讨选型与迁移决策,为相关开发者提供参考。 阅读详情

书籍:《面向模式的软件架构IV:分布式计算的模式语言》

简介

迄今为止,人们提出的软件开发模式有不少是关于分布式计算的,但人们始终无法以完整的视角了解分布式计算中各种模式是如何协同工作、取长补短的。构建复杂的分布式系统似乎成为了永远也无法精通的一门手艺。本书的出版改变了这一切。

本书是经典的POSA系列的第4卷,介绍了一种模式设计语言,将分布式系统开发中的114个模式联系起来。书中首先介绍了一些分布式系统和模式语言的概念,然后通过一个仓库管理流程控制系统的例子,介绍如何使用模式语言设计分布式系统,最后介绍模式语言本身。

使用这一模式语言,人们可以有效地解决许多与分布式系统开发相关的技术问题,如

  • ★ 对象交互
  • ★ 接口与组件划分
  • ★ 应用控制
  • ★ 资源管理
  • ★ 并发与同步

本书从实用角度展示了如何从现有的主要模式中整合出一门全面的模式语言,用于开发分布式计算中间件及应用程序。作为该领域在市场上唯一统揽全局的书,它将给读者带来醍醐灌顶的感觉!

笔记

以前总是困惑自己正在开发的游戏网络通信框架是前人怎么想出来的,看着底层那些乱七八糟的代码,即膜拜又感到不解。看到本书讲的一个模式:Half-Sync/Half-Async 顿时感觉清楚了许多。这本书对于很多模式都讲的不是很细致,只是粗略总结一下,详细的用法和介绍还是要去参考一些《面向模式的软件架构I》、《面向模式的软件架构II》、《设计模式:可复用面向对象基础》。对于网络框架的架构这本书和《面向模式的软件架构II》必备。

下面把书中提及到的分布式相关的模式列举出来:

从混沌到结构(From Mud To Structure )

  1. 领域模型(Domain Model)
  2. 分层(Layers)
  3. MVC模式(Model-View-Controller)
  4. PAC模式(Presentation-Abastraction-Control)
  5. 微内核(Microkernel)
  6. 反射(Reflection)
  7. 管道和过滤器(Pipes and Filters)
  8. 共享仓库(Shared Repository)
  9. 黑板(Blackboard)
  10. 领域对象(Domain Object)

分布式架构

  1. 消息机制(Messaging)
  2. 消息通道(Message Channel)
  3. 消息端点(Message Endpoint)
  4. 消息转换器(Message Translator)
  5. 消息路由(Message Router)
  6. 发布-订阅者(Publisher-Subscriber)
  7. 代理者(Broker)
  8. 客户端代理(Client Proxy)
  9. 请求者(Requestor)
  10. 调用者(Invoker)
  11. 客户端请求处理(Client Request Handler)
  12. 服务端请求处理(Server Request Handler)

事件分派(Event Demultiplexing and Dispatching)

  1. Reator
  2. Proator
  3. Acceptor-Connector
  4. Asynchronous Completion Token

接口划分(Interface Partitioning )

  1. Explicit Interface
  2. Extension Interface
  3. Introspective Interface
  4. 动态调用接口(Dynamic Invocation Interface)
  5. 代理(Proxy)
  6. 业务委托(Business Delegate)
  7. 外观模式(Facade)
  8. 复合方法(Combined Method)
  9. 迭代器(Iterator)
  10. 枚举方法(Enumeration Method)
  11. 批处理方法(Batch Method)

组件划分(Component Partitioning)

  1. 封装实现(Encapsulated Implementation)
  2. 整体-部分(Whole-Part)
  3. 组合模式(Composite)
  4. 主从模式(Master-Slave)
  5. Half-Object plus Protocol
  6. Replicated Component Group

应用控制(Application Control)

  1. 页控制器(Page Controller)
  2. 前端控制器(Front Controller)
  3. 应用控制器(Application Controller)
  4. 命令处理器(Command Processor)
  5. 模板视图(Template View)
  6. 转换视图(Transform View)
  7. 防火墙代理(Firewall Proxy)
  8. 授权(Authorition)

并发(Concurrency)

  1. Half-Sync/Half-Async
  2. Leader/Followers
  3. Active Object
  4. Monitor Object

同步(Synchronization)

  1. 守护挂起(Guarded Suspension)
  2. Future
  3. 线程安全接口(Thread-Safe Interface)
  4. 双检查锁(Double-Checked Locking)
  5. 策略锁定(Strategized Locking)
  6. 范围锁定(Scoped Locking)
  7. 线程指定存储(Thread-Specific Storage)
  8. 复制值(Copied Value)
  9. 常量值(Immutable Value)

对象交互(Object Interaction)

  1. 观察者(Observer)
  2. 双分配(Double Dispatch)
  3. 中间者(Mediator)
  4. 命令模式(Command)
  5. 备忘录模式(Memento)
  6. 环境对象(Context Object)
  7. 数据传输对象(Data Transfer Object)
  8. 消息(Message)

适配和扩展(Adaptation and Extension)

  1. 桥接模式(Bridge)
  2. 对象适配器(Object Adapter)
  3. 责任链(Chain of Responsibility)
  4. 解释器(Interpreter)
  5. 插入器(Interceptor)
  6. 访问者(Visitor)
  7. 修饰模式(Decorator)
  8. Execute-Around Object
  9. 模板方法(Template Method)
  10. 策略模式(Strategy)
  11. 空对象(NULL Object)
  12. 封装外观(Wrapper Facade)
  13. Declarative Component Configuration

模态行为(Modal Behavior)

  1. 状态对象(Objects for States)
  2. 状态方法(Methods for States)
  3. 状态集合(Collections for States)

资源管理(Resource Management)

  1. 容器(Container)
  2. 组件配置(Component Configurator)
  3. 对象管理器(Object Manager)
  4. 查找(Lookup)
  5. 虚拟代理(Virtual Proxy)
  6. 生命周期回调(Lifecyce Callback)
  7. 任务协调器(Task Coordinator)
  8. 资源池(Resource Pool)
  9. 资源缓冲(Resource Cache)
  10. Layzy Acquisition
  11. Eager Acquisition
  12. Partial Acquisition
  13. Activator
  14. Evictor
  15. Leasing
  16. 自动垃圾回收(Automated Garbage Collection)
  17. 计数句柄(Counting Handle)
  18. 抽象工厂(Abstract Factory)
  19. 构建者(Builder)
  20. 工厂方法(Factory Method)
  21. Disposal Method

数据库访问(Database Access)

  1. 数据库访问层(Database Access Layer)
  2. 数据映射(Data Mapper)
  3. 行数据网关(Row Data Gateway)
  4. 表格数据网关闭(Table Data Gateway)
  5. Active Record

以上模式详细内容还需要更加深入的应用才能很好的掌握。继续学习…

2012/04/06 01:08 于上海

 

每周一荐:支持latex的思维导图软件docear 作  者:david++ 发布时间:2012/08/23 21:50   提起思维导图软件,能想到很多,开源的、商业的、简洁的、复杂的,不胜枚举!如:Xmind、MindManager、FreeMind、inspiration、Axon等。想要知道更多,请google之。去年看了托尼·巴赞关于思维导图的几本书之后,无论做笔记还是思考一些问题的时候,都会用笔随便画一画,思路理清楚了之后 阅读详情

相关推荐

分布式计算的模式语言

分布式计算的模式语言

分布式模式

分布式定义:将一个完整的服务,按照业务功能,拆分成一个个独立的子服务。这些子服务能够独立运行在部署的环境中,它们之间通过RPC方式通信。 模式:模式是指从生产经验和生活经验中经过抽象和升华提炼出来的核心知识体系。模式(Pattern)其实就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。模式是一种指导,在一个良好的指导下,有助于你完成任务,有助于你作出一个优良的设计方案,达到事半功倍的效果。而且会得到解决问题的最佳办法。 模式语言:模式是软件架构中的词汇,而模式语言则在某种程度

qq_42382539的博客 920

Gromacs文件格式全解析:xtc vs trr vs cpt,哪种更适合你的模拟需求?

本文深入解析Gromacs分子动力学模拟中的三种核心文件格式xtc、trr和cpt,详细对比其技术特性和适用场景。xtc适合存储效率优先的场景,trr保留完整动力学数据,cpt确保模拟精确重启。通过实际配置示例和存储优化技巧,帮助用户根据模拟需求选择最佳格式组合,平衡分析灵活性与存储成本。

weixin_29281941的博客 96

分布式技术原理(七):分布式计算

目录 分布式计算 什么是分而治之? 分治法的原理 MapReduce 工作原理 MapReduce 实践应用 总结 分布式计算模式之Stream Stream 工作原理 分布式计算 Hadoop 这个框架主要用于解决海量数据的计算问题。那么,它是如何做到海量数据计算的呢?你可能会想,既然是海量数据,规模这么大,那就分成多个进程,每个进程计算一部分,然后汇总一下结果,就可以提升运算速度了。其实,整个计算流程,我们可以很形象地用一个词来解释,就是“同流合污“,在分布式领域中就叫作 MR 模式

叶子叶来 1万+

Ansys Zemax | 多模光纤耦合效率优化与IMAE操作数实战解析

本文详细解析了在Ansys Zemax(OpticStudio)中优化多模光纤耦合效率的实战流程。通过几何图像分析诊断初始效率,并重点介绍了如何利用IMAE操作数将分析工具转化为自动化优化引擎,实现从2%到54%的几何效率飞跃。文章还探讨了引入菲涅尔损耗与偏振计算以逼近真实效率,并分享了关键的避坑指南与高阶技巧。

xk7n92h3p5m的博客 749

WS2812B非标准通信协议:手把手实现精准时序控制

详解WS2812B的精准时序实现原理,剖析其非标准通信协议的关键细节。通过实际操作指导,帮助开发者稳定驱动ws2812b灯带,解决常见时序偏差问题,提升项目显示效果与响应一致性。

weixin_42584586的博客 585

分布式计算总结

python主要用作数据分析,语法简洁,有众多的算法库,便于快速搭建算法;函数的参数和返回值均可为函数类型,即函数能以参数形式传入另一个函数,也能以返回值形式作为另一个函数的运算结果。Executor运行在Worker上,Driver的位置根据作业提交模式决定。补充:在spark-shell中,分别记为sc和spark。从节点:worker,管理Executor和Driver。编译成java字节码文件,.class。local[n]: 多线程模式,使用n。scala重在大,速度快,语法简洁,

m0_63069778的博客 1726

Snort源代码编译 _ 采坑之旅(for Windows VS2015)

    系统环境:Windows7 sp1 x64     编译环境:VS2015 SP1     Snort版本:2.9.12     daq版本:2.0.6     Snort官网:https://www.snort.org/downloads#snort-downloads 背景     最近需要实现一个类似网络防火墙的产品,主要参考Snort源码,先花了点时间简单读了下网上比较流行的《...

magictong的专栏 8888

编写mapreduce程序实现对输入文件的词频统计排序_分布式计算技术MapReduce 详细解读,不懂得就来学习一下...

各位志同道合的朋友们大家好,我是一个一直在一线互联网踩坑十余年的编码爱好者,现在将我们的各种经验以及架构实战分享出来,如果大家喜欢,就关注我,更多的可以关注wx,一起将技术学深学透,我会每一篇分享结束都会预告下一专题上周我们学习了消息中间件的核心原理以及如何搭建一套高并发高可用且支持海量存储的生产架构(今天设计一套高可用高并发、海量存储可伸缩的消息中间件生产架构),我们暂且先放一放,后面再进行Ro...

weixin_39962153的博客 661

用 ABAP ADK 写一个可控的自建表归档程序:从选择屏幕到 ARCHIVE_SAVE_OBJECT 的完整链路

文章摘要: 本文介绍了SAP系统中数据归档的核心概念与实践方法。归档旨在将不常访问但需保留的数据从在线数据库移出,以减轻系统负载,同时满足合规要求。文章重点阐述了: 归档与备份、重组的本质区别 SAP归档框架的核心组件:归档对象(AOBJ)、归档管理界面(SARA)和ADK开发工具包 通过YAPTMAIN表示例,展示了完整的归档流程: 使用选择屏幕控制归档范围 管理归档会话 写入归档记录 生成统计报表 强调了归档程序设计中需要考虑的运维、审计和性能因素 该方案可有效解决自建日志表"悄悄长胖&quo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 229

《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)

无损剪枝模型到几百kb~

cv君的博客 3万+

分布式计算模式:Actor

分布式计算模式:Actor前言什么是 Actor?Actor 计算模式Actor 工作原理Actor 关键特征Actor 模型的应用知识扩展:Akka 中 Actor 之间的通信可靠性是通过 Akka 集群来保证的,那么 Akka 集群是如何检测节点故障的呢?总结 前言 MapReduce 和 Stream 虽然这两种计算模式对数据的处理方式不同,但都是以特定数据类型(分别对应静态数据和动态数据)作为计算维度。 从计算过程或处理过程的维度,有两种分布式计算模式,Actor 和流水线。分布式计算的本质就是

海陆云的博客 2万+

深度学习-161-Dify工具之对比使用工作流和聊天流生成图表可视化的html文件

分别使用聊天流和工作流进行数据分析结果的可视化,生成html文件。聊天流可以配置带记忆,这样就可以多次交互优化结果。

qq_20466211的博客 1709

分布式计算模式:Stream

分布式计算模式:Stream前言什么是 Stream?Stream 工作原理Storm 的工作原理知识扩展:流计算和批量计算的区别是什么?总结 前言 分布式计算模式中的 MapReduce 模式的核心思想是,将大任务拆分成多个小任务,针对这些小任务分别计算后,再合并各小任务的结果 以得到大任务的计算结果。 这种模式下任务运行完成之后,整个任务进程就结束了,属于短任务模式。但任务进程的启动和停止是一件很耗时的事儿,因此 MapReduce 对处理实时性的任务就不太合适了。 实时性任务主要是针对流数据的处理

海陆云的博客 2万+

FPGA学习笔记(一)入门背景、软件及时钟约束的概念及程序下载与固化

使用正点原子的PFPGA开拓者V2学习,通过b站上正点原子的手把手教你学FPGA-基于开拓者V2学习。

贾saisai的博客 3280

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

分布式计算模式之Stream

前言 上文介绍了分布式计算模式中的 MapReduce 模式。这种模式的核心思想是:将大任务拆分成多个小任务,针对这些小任务分别计算后,再合并各小任务的结果以得到大任务的计算结果。 这种模式下任务运行完成之后,整个任务进程就结束了,属于短任务模式。但是任务进程的启动和停止是一件很耗时的事儿,因此 MapReduce 对处理实时性的任务就不太合适了。实时性任务主要是针对流数据的处理,对处理时延要求很高,通常需要有常驻服务进程,等待数据的随时到来随时处理,以保证低时延。处理流数据任务的计算模式,在分布式领域中叫

m0_38043550的博客 769

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

分布式计算概述

**分布式计算是当前计算机领域常见的名词,那么到底什么是分布式,什么又是分布式计算呢?今天和大家共同研究一下这个话题。** 分布式计算的概念 一个分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同目标(往往这个共同目标称为“项目”) 分布式计算的优缺点 优点: 1.超大规模 2.虚拟化 3.高可靠性 4.通用性 5.高伸缩性 6.按需服务 7....

优快云zlx的博客 8727

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

分布式计算模式之MapReduce

前言 前面文章中介绍两层调度时提到,Mesos 的第二层调度是由 Framework 完成的。这里的 Framework 通常就是计算框架,比如 Hadoop、Spark 等。用户基于这些计算框架,可以完成不同类型和规模的计算。 那么,在接下来就来介绍分布式计算技术”了。分布式领域的4 种计算模式:MapReduce、Stream、Actor 和流水线。 计算问题处理思想之分而治之 分而治之的基本思想是将一个复杂的、难以直接解决的大问题,分割成一些规模较小的、可以比较简单的或直接求解的子问题,这些子问题之间

m0_38043550的博客 1025

分布式、并行计算语言Erlang 学习笔记(全)

分布式、并行计算语言Erlang 学习笔记(第一部分) Erlang是由爱立信公司开发的一种平台式语言,可以说是一种自带了操作系统平台的编程语言,而且在这个平台上实现了并发机制、进程调度、内存管理、分布式计算、网络通讯等功能,这些功能都是完全独立于用户的操作系统的,它采用的是类似于Java一样的虚拟机的方式来实现对操作系统的独立性的。 介绍一下Erlang先: 1、并发性:Erlang的...

blovedot 525

ACE 模式

ACE 模式

Welcom to zougangx's blog 2044

分布式计算框架(三) 客户端模块

三、客户端模块    3.1 客户端模块结构    计算节点模块主要功能为数据管理、日志管理、配置管理、处理线程管理、进程通信管理、TCP通信管理,该模块由以下几个类组成。类名关系类    关系Mainwindowlogin聚合Mainwindowtcp_socket聚合MainwindowSetting聚合 MainWindow:交互类模块,负责数据的显示、处理。名称类型说明get_inform...

月下独奏的博客 700

第二章 分布式计算模型

一、分布式计算模型的概述 分布式计算模式比较特殊,它具有客户机/服务器流模式的相反特性,或者该模式是对等模式和客户机/服务器 流模式的混合。在该模式中,流量主要发生在任务管理器及其计算设备之间(与客户机/服务器模型相似),或者发生在计算设备之间(与对等模式相似)。具体模式的行为特征取决于分布式计算是如何进行的。 该模式的重要特性是应用流的方向与客户机/服务器模式正好相反,且计算设备具有严格的性能需...

weixin_44245855的博客 902

高级系统架构师培训笔记

前几天参加了中科院计算所培训中心谢老师的高级系统架构师培训课程,将其中的一些点做了下记录:   系统架构师的工作是复杂设计总体解决方案以及领域对象的逻辑和物理布局,这是一项在复杂环境中高风险、高影响力的活动。 1、软件架构的定义:软件架构(Software Architecture)也称之为软件体系结构,它是一组有关如下要素的重要决策:软件系统的组织,构成系统的结构化元素,接口和它们相互协作...

网络资源是无限的 2万+
上一篇: 每周一荐:重构三板斧
下一篇: MediaWiki编辑工具
future_fighter
博客等级 码龄20年 129粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值