2019独角兽企业重金招聘Python工程师标准>>>

因为在看Akka的资料时,看到“Error Kernel Pattern”一词,所以想查一下资料是什么意思。

在Roland Kuhn的 Reactive Design Patterns书中,有介绍Error Kernel的概念。

我翻译一下:

“在监督层次结构中,将重要的应用程序状态或功能保留在根目录附近,同时将危险的操作委托给叶子。”

此模式基于简单组件模式(Simple Component)构建,适用于具有不同故障概率和可靠性要求的组件组合到更大的系统或应用程序中的任何地方 - 系统的某些功能必须永远不会发生故障,而其他功能必然会出现故障。应用简单组件模式通常会使您处于此位置,因此您需要熟悉错误内核模式。

这种模式已经在Erlang程序中建立了几十年,并且是JonasBonér在JVM上实现Actor框架-Akka的主要灵感之一。Akka这个名字最初被认为是Actor Kernel的回文,指的是这个核心设计模式。

既然这个模式是根据简单组件模式设计的,翻译一下作者写的。

“一个组件只能做一件事,但要全部完成。”

这种模式适用于系统执行多个功能的任何地方,或者它执行的功能非常复杂,需要将它们分解为不同的组件。一个例子是包含拼写检查的文本编辑器:两个独立的功能(编辑可以在没有拼写检查的情况下完成,拼写也可以在完成的文本上检查,不需要编辑功能),但另一方面,这些功能都很简单。

简单组件模式源于Tom DeMarco在1979年出版的“结构化分析和系统规范”(Prentice Hall)一书中提出的单一责任原则。在其抽象形式中,它要求“最大化内聚并最小化耦合。”应用于面向对象的软件设计,通常如下所述:“一个类应该只有一个改变的理由。”

参考:https://www.reactivedesignpatterns.com/patterns/error-kernel.html

转载于:https://my.oschina.net/u/2277632/blog/2934056

Error Kernel Pattern相关推荐

  1. Akka系统《sixteen》译

    Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件).从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在 ...

  2. 【Akka】Actor模型探索

    Akka是什么 Akka就是为了改变编写高容错性和强可扩展性的并发程序而生的.通过使用Actor模型我们提升了抽象级别,为构建正确的可扩展并发应用提供了一个更好的平台.在容错性方面我们采取了" ...

  3. java akka actor,【Akka】Actor引用

    Actor系统的实体 在Actor系统中,actor之间具有树形的监管结构,并且actor可以跨多个网络节点进行透明通信. 对于一个Actor而言,其源码中存在Actor,ActorContext,A ...

  4. ubuntu16.04虚拟win7——经验笔记——问题:Kernel driver not installed (rc=1908) error.

    ubuntu16.04虚拟win7--经验笔记--问题:Kernel driver not installed (rc=1908) error. The VirtualBox Linux kernel ...

  5. Error: Loading chunk * failed,Vue Router懒加载报错问题解决方案

    最近vue项目路由改成了懒加载方式,刚开始并没有什么问题,清空项目文件,重新下载配置运行后,就发现控制台报以下错误: [vue-router] Failed to resolve async comp ...

  6. go 自定义error怎么判断是否相等_「GCTT 出品」Go 系列教程——30. 错误处理

    Go语言中文网,致力于每日分享编码.开源等知识,欢迎关注我,会有意想不到的收获! Go 系列教程是非常棒的一套初学者教程,入门就它了. 这是 Golang 系列教程中的第 30 篇.在本章教程中,我们 ...

  7. message日志输出sbridge: HANDLING MCE MEMORY ERROR错误问题处理

    /var/log/message系统日志一直输出,造成/分区磁盘被占满 sbridge: HANDLING MCE MEMORY ERROR kernel: CPU 8: Machine Check ...

  8. Linux Kernel Crash Dump note

    how to use crash utility to analyze vmcore files. 内核调试方法 使用crash工具查看定位linux内核崩溃原因: [root@mi_cct vmco ...

  9. 利用机器学习方法对猪肉价格预测

    基于机器学习对猪肉价格预测 猪肉价格预测 问题背景 导入数据 一.支持向量机 二.随机森林 三. MLP神经网络 猪肉价格预测 支持向量机回归 随机森林回归 MLP神经网络回归 问题背景 " ...

最新文章

  1. Matlab实现图像白平衡(灰度世界法、全反射算法)
  2. 张钹院士:可解释、可理解是人工智能研究的主攻方向 | CCF-GAIR 2018
  3. Algorithm:树相关算法(BBT/BST/B树/R树)简介(二叉查找树、二叉查找树的插入节点、二叉查找树的删除、二叉树的遍历、平衡二叉树)C 语言实现
  4. 为什么本地sqlservr.exe进程占用内存如此之大?
  5. 用matlab定义2020年元旦是星期三,如何用matlab实现某年某月某日是星期几的问题,...
  6. java map映射_【Java】Map 映射接口 概述
  7. C#原型模式之深复制实现
  8. 【测试】测试用例8大法
  9. api pdo php,从PHP Mysql API转换为PDO时如何处理数据类型
  10. 蓝桥杯 ADV-150算法提高 周期字串
  11. java数组实现队列_使用数组在Java中进行队列实现
  12. mysql存储过程详细教程
  13. 面向消息的持久通信与面向流的通信
  14. QComboBox样式表设置
  15. 计算机系统更新从哪关闭,电脑总提示系统更新,怎么关闭?
  16. can和could的用法_can和could的区别和用法
  17. 字体图标浅析——什么是字体图标?如何生成?怎么使用?
  18. 计算机分盘介质受写入保护,在win7中,U盘新建文件提示“介质受写入保护”怎么回事?...
  19. shell训练营日常打卡DAY1
  20. 毕业N年后,请不要像我一样被档案烦死——转自一位已经毕业的学姐

热门文章

  1. 网管管理的12种方法
  2. python中module_Python中的模块(Module)
  3. spring 04-Spring框架依赖注入基本使用
  4. java基础进阶一:String源码和String常量池
  5. 纯JSP实现简单登录跳转
  6. 指纹、虹膜和人脸之后,身份认证领域的新热点:手背静脉识别
  7. 深度卷积神经网络CNNs的多GPU并行框架 及其在图像识别的应用
  8. gearman简介及安装使用
  9. git/github的使用
  10. Unity Shader-描边效果