[翻译]squbs官网之1 squbs设计的原则

squbs 平台的设计围绕以下设计原则:

  1. 关注的分离

应用程序代码应该关注应用和业务逻辑。而生命周期和基础架构应当由底层架构关注。基础设施只是需要来自应用程序的输入,而这些输入不能自动得到。squbs 的设计正是如此:允许基础设施在不影响应用程序的情况下插入基础设施。

2.松耦合

大系统往往由于类型系统的紧耦合而烦恼。Akka,作为消息传递系统,可以使模块间没有任何类型依赖。然而,启动actor的一般方法需要actor间的类型耦合。例如,context.actorOf(Props[MyActorType])需要调用者引入MyActorType ,因此产生了对MyActorType的类型依赖。这样的耦合不能归类为松耦合。squbs 允许创建称为 "cubes" 的松耦合组件, 双方可以仅通过已知的消息进行通信。cubes的使用依赖于服务的复杂性,以及cube提供的功能是否可选。一个非常小的微服务可以在一个cube中全部实现。具有与其他服务共享的共同模块的更复杂的服务可能希望将该公共逻辑实现为单独的cube(远远超过一个单独的库, 因为这通常是紧密耦合)。管理控制台可以与所有服务一起部署但很少与服务直接通信,应该作为一个单独的cube实现。

3.DRY

Don't Repeat Yourself. squbs的插入设计允许最多一次耦合。这通常意味着cubes仅需要将它们添加到依赖列表或者运行时类路径就可插入。不需要对cube的真正调用,因为这将引起对代码以及依赖列表/类路径的依赖。因此, 移除松耦合模块就像从运行时类路径或依赖项中删除一样简单。

4.尽量减少工作重复

处理应用程序生命周期和监视应用程序的许多低级别组件在应用程序中很常见。处理生命周期管理的最小框架将隐藏和抽象掉这些重复。这将使 PaaS 和负载平衡器接口标准化, 并允许开发人员关注他们的关注 (应用程序逻辑), 并大大减少支持应用程序所需的脚本和配置的变化。

5.薄平台
我们意识到薄平台的出现,并尽量保持squbs轻量级和非强制性。因此, 我们有 squbs-unicomplex, 它是负责启动和管理运行时的状态和生命周期的核心容器。它几乎没有依赖于Scala和Akka,并没有对开发人员施加进一步的要求或框架。开发人员可以根据需要将任何其他框架包括在内。

Akka开发者的常见问题/关注

Developer:我想从我自己的main启动
squbs: 您希望如何启动诸如管理控制台这样的支撑基础结构?混入编译时依赖以及开发人员的个人想法,违反了关注的分离和松耦合。

Developer: 我将调用所有基础结构的初始化
squbs: 因此, 您需要修改构建定义中的依赖项, 以及修改应用程序以调用初始化代码?这违反了分离的关注, 松耦合, DRY。

Developer: 我们能够提供如何启动我们系统的生命周期脚本。
squbs: 这意味着我们为每一个应用分别提供生命周期脚本。这将有很多重复工作。

Developer: 我们需要写我们自己的健康检查页面。
squbs: 拥有标准化管理的cube可以让所有的squbs应用用相似的方法查看。

Developer: 我们需要为应用程序配置PaaS和负载均衡。
squbs: 我们不需要为每一个程序进行不同的配置。我们不需要维护这么多的配置,一个应用一个。这是重复的工作,我们不会达到关注分离。我们不应该标准化吗?

squbs: 统一的云管理/PaaS 环境应该如何彻底地关闭应用程序?
Developer: 调用我自己的关闭脚本
squbs: 你如何确保关闭脚本在不导致任何状态和数据损坏的情况下优雅地终止进程?
Developer: 我们会注意应用程序的优雅关闭。
squbs: 所以每个应用程序都必须自己处理这个问题。关机不是小事。如果关机过程中有错误怎么办?这最好由标准脚本处理,与应用程序分离,既避免了重复工作,又避免了关注点的分离。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容