博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
不变性改变一切,包括微服务
阅读量:6711 次
发布时间:2019-06-25

本文共 803 字,大约阅读时间需要 2 分钟。

现任Salesforce软件架构师的Pat Helland在他的里回顾了不变性(immutability)架构设计的优点。Pat认为,今天的计算与存储成本已大大降低,为大规模数据保存不变副本(immutable copies)在经济上变得可行,这样做有助于缓解协调方面的挑战。

\\

Pat对比了内部数据(inside data)与外部数据(outside data)的特性(见下表),并指出了采纳不变性架构的几点技术影响(注:Pat将数据集定义为一个固定的、不可变的表的集合):

\\
  • 尽管数据集在物理上可以被改变,但在语义上是不变的(immutable)。\\t
  • 通过观测和监控数据集的读取量,可以发现新的优化点(如新增索引等)。\\t
  • 不变性是大数据(Big Data)的支柱。采用不变输入的函数式计算是幂等的,所以就算出错或重启也不要紧。\\t
  • 规范化在需要更新的数据库里是十分重要的;但对于不变的数据集,规范化不是必需的。\\t
  • 日志结构化文件系统(Log Structured File Systems)给不变性数据块带来高可用性(availability)。\

9ed4aaaafb881aaae42c213f1c4303b3.png

表:对比内部数据与外部数据(出处:Pat Helland的)

\\

与此同时,Jay Vyas在Red Hat开发者博客上发文如何用Apache Spark和Cassandra来创建不变的微服务(immutable microservices)。Jay也谈到了构建不变微服务的好处:

\\
\

本质上,不变微服务不需借助于任何重量级的安装器或配置管理就能部署,而且令负载平衡、高可用性和动态资源分享等成为可能。(.…) 不变微服务可以在任何环境下测试,因为他们对启动自己的编排层(orchestration layer)依赖很小。

\
\\

不变性架构的优势在、和中均已有所体现,你做好迎接一趋势的准备了吗?

\\

查看英文原文:

转载地址:http://wwolo.baihongyu.com/

你可能感兴趣的文章
《CMYK 2.0——设计师色彩管理手册》—第1章1.3节副作用
查看>>
java.util.concurrent.locks.LockSupport
查看>>
红帽加入 Node.js 基金会白金会员
查看>>
《OpenGL编程指南》一2.7 独立的着色器对象
查看>>
Ionic 3.4.2 发布,漂亮的 HTML5 移动应用框架
查看>>
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
想开发 Android 分支?没门!
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
重磅,企业实施大数据的路径
查看>>
linux之cp/scp命令+scp命令详解
查看>>
Spark 源码分析 -- BlockStore
查看>>
《C语言编程初学者指南》一1.7 创建并运行第一个C程序
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
《当用户体验设计遇上敏捷》一3.3 设计的适合之处
查看>>
《众妙之门——网页设计专业之道》——1.4 如何与众不同
查看>>
多核编程入门
查看>>
《TensorFlow技术解析与实战》——1.6 机器学习的相关赛事
查看>>
大数据小说 | 如何用一小时看透一个初识的姑娘
查看>>
《Python面向对象编程指南》——1.10 一些其他的类定义
查看>>