云时代架构读后感4--IT架构的本质

IT架构的本质 原文地址:http://mp.weixin.qq.com/s?__biz=MzAwNTQ4MTQ4NQ==&mid=2453562304&idx=1&sn=be86a7bc682c4e76e06b87a10ad45188&chksm=8cd136a2bba6bfb430103e50f94b670e799412d0a1cae4eded0eb901847b6d462359ae317635&mpshare=1&scene=23&srcid=#rd

这篇文章是由一位具有十二年工作经验的架构师总结而成,他从自己的工作经验中总结出五条道理:

1.需求优化最重要:少查少写少依赖,Less is more

2.群集设计通用规则:前端复制后端拆,实时改异步,三组件互换

3.理解硬件天性:角色选型时要看硬件的天然特性

4.数据的产生和消失:数据不会凭空产生,但会凭空消失

5.各环节都不可盲信:容灾设计中都尽人事和听天命

通过阅读他总结出的五条经验,应该会对我们以后的工作有所帮助。

在第一点中提到,一个IT系统是多角色多模块分层分级的,像OSI模型上层应用简单依赖下层支撑,SOA设计中同级角色也只看对方的接口。

各角色分工明确方便快速实现业务,但是给架构优化也埋下大坑,底层的盲目支撑是巨大资源浪费,平级调度协作也没任何弹性。

而做架构设计最重要的就是砍需求,将上层应用的需求优化删减,让同级的业务能容错。

前端对后端少输入少查询多容错,应该抓住核心诉求,不该要的东西都不要。

第二点指出,架构常见技巧就像空中华尔兹一样自然优雅。要做架构就要上群集,而群集设计调优翻来覆去就是这三板斧:前端复制后端拆,实时改异步,IO-算力-空间可互换。

前端是管道是逻辑,而后端是状态是数据,所以前端复制后端拆。

绝大部分“实时操作”都不是业务需求,而是某应用无法看到后端和Peer状态,默认就要实时处理结果了。

在群集性能规划中,网络和硬盘IO+CPU算力+磁盘和内存空间是可以互换的,架构师要完成补不足而损有余的选型。

第三点说道:别让硬盘扛性能,别让内存保持久,别让网线扛稳定。

架构层软件技术已经足够成熟,所谓技术选型不如说是适应场景;在做具体角色选型时,最深度也最易忽视的原则是顺应硬件天性。

如果一个服务依赖硬盘,那这个服务就不适合扛性能压力。

第四点告诉我们:数据不会凭空产生,我们要便捷轻巧安全可靠的获取数据,就要选好数据源,保障好传输路径,定义好数据变换规则。

但是会凭空消失,在一个数据生命周期内,为了防止数据全部或部分凭空消失,数据的容错校验、关联复原、冷热备份和安全删除都要考虑到位。

最后一点谈到,整个IT系统中就没有可靠的组件,架构师既不能盲目信任撞大运,又不能无限冗余吓唬自己,而是在尽人事和听天命之间做好权衡。

 

这篇文章主要讲的是架构工作的“道”,对与架构之“术”并不提及。不同的业务系统的架构之术完全不同,能拿来汇总借鉴的只有这几条简单的道理。

如果我们有架构之道做思想支撑,即使接手全新业务类型,庖丁可以解牛也可以杀猪,我们一样能游刃有余心里不慌。

 

转载于:https://www.cnblogs.com/sakura--/p/11050369.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果风格ui_苹果如何使Soft-UI成为未来

苹果风格ui重点 (Top highlight)Apple announced some pretty wild updates at WWDC 2020 today.苹果今天在WWDC 2020上宣布了一些相当疯狂的更新。 But technology aside, let’s focus on how their UI has changed. It went through the first bitmap representations, thr…

【数据结构】量子危机

问题 宇宙时间公元 5.55 亿年,由于某种原因两大联盟展开了激战(maxingc 联盟采用了微子技术): 邪恶的 maxingc 联盟采集好了微子能,就要运输。Maxingc 联盟的领袖 xc 此时才发现,自己的军事基地中由微子发射…

android 自定义menu背景,Android编程实现自定义系统菜单背景的方法

本文实例讲述了Android编程实现自定义系统菜单背景的方法。分享给大家供大家参考,具体如下:不多说,上图,见代码。package lab.sodino.menutest;import android.content.Context;import android.app.Activity;import android.os.Bu…

面试官问 async、await 函数原理是在问什么?

大家好,我是若川。这是 源码共读活动《1个月,200人,一起读了4周源码》 第四期,纪年小姐姐的第四次投稿。纪年小姐姐通过本次学习提早接触到generator,协程概念,了解了async/await函数的原理等。第四期是 学…

一步步优化JVM六:优化吞吐量[转]

2019独角兽企业重金招聘Python工程师标准>>> 原文:http://ganlv.iteye.com/blog/1571315 参考:http://www.myexception.cn/software-architecture-design/1455594.html 现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用…

element-ui 网格_UI备忘单:列表与网格

element-ui 网格重点 (Top highlight)Grids or lists? That is the question we will look at in this cheat sheet. While they can be used anywhere in your site, we are going to look primarily at search results, catalogs and newsfeeds. Making this choice will de…

asp.net mvc使用TagBuilder的应用程序集

在asp.net mvc编写扩展方法中需要使用到TagBuilder类,根据msdn的说法应该应用System.Web.Mvc.dll 程序集。 TagBuilder 构造函数 .NET Framework 4 初始化 TagBuilder 类的新实例。命名空间: System.Web.Mvc程序集: System.Web.Mvc&#xf…

50行 koa-compose,面试常考的中间件原理原来这么简单?

大家好,我是若川。源码共读《1个月,200人,一起读了4周源码》 活动第五期是学习 koa 源码的整体架构,浅析koa洋葱模型原理和co原理中的koa-compose源码原理,阅读不到50行的koa-compose源码。这篇是izjing小哥哥的投稿。…

sqlite3源码编译到Android,实现SQLite跨全平台使用

文/何晓杰Dev(高级Android架构师)著作权归作者所有,转载请联系作者获得授权。初看这个标题你可能会不解,SQLite 本身就是一个跨平台的数据库,在这里再说跨平台有什么意义呢?其实不然,目前我就遇到了一个项目…

在Red Hat 4 AS U7上安装oracle10gR2

软件:Red Hat 4 AS U7, Oracle 10g R2 for linux32, VMWare 7, Windows 7详细步骤清单:在Red Hat 4 AS U7上安装oracle10gR2 1. 硬件需求: =======&#xff1…

illustrator下载_平面设计:16个Illustrator快捷方式可加快工作流程

illustrator下载I know, I know — keyboard shortcuts sound so nerdy, and you’re a graphic designer, not an IT Director, why should you learn keyboard shortcuts?我知道,我知道—键盘快捷键听起来很书呆,而且您是图形设计师,而不是…

手把手教你五分钟扒个源码写个无敌外挂

大家好,我是若川。源码共读《1个月,200人,一起读了4周源码》 活动进行到第五期了,欢迎点链接加我微信 ruochuan12 报名参加。前言前段时间群里分享了一个小游戏,多次怀疑自己的眼睛以后,尝试去写个外挂。中…

Kubernetes 1.14重磅来袭,多项关键特性生产可用

走过了突飞猛进的2018年,Kubernetes在2019年终于迎来了第一个大动作:Kubernetes 1.14版本的正式发布!Kubernetes 本次发布的 1.14 版本,包含了 31 项增强,其中 10 项为 GA,12 项进入 beta 试用阶段&#xf…

中英文

http://it.freesion.com/3220/4888028/13606306/#转载于:https://www.cnblogs.com/yqskj/articles/2082326.html

open ai gpt_让我们来谈谈将GPT-3 AI推文震撼到核心的那条推文

open ai gpt重点 (Top highlight)“设计师”插件 (The ‘Designer’ plugin) A couple days ago, a tweet shared by Jordan Singer turned the heads of thousands of designers. With the capabilities of GPT-3 (from OpenAI), he shared a sample of what he was able to c…

我历时3年才写了10余篇源码文章,但收获了100w+阅读

你好,我是若川。最近来了一些读者朋友,在这里简单介绍自己的经历,也许对你有些启发。之前发过这篇文章,现在修改下声明原创,方便保护版权。最近组织了源码共读活动1个月,200人,一起读了4周源码&…

android onlescan 参数,Android BLE:从iOS外设广告时,在onLeScan()回调中检索服务UUID

我正在使用Nexus 4(4.4 kitkat)作为中央和iPad作为外设.外围设备有广告服务.广告包有一些数据(22字节)的服务UUID.当我尝试从Android扫描外围设备时,iPad外围设备被发现.但是当我尝试从回调中的scanRecord参数获取服务UUID时,我找不到它.我得到的是外设发送的20byte数据.当我尝…

第 8 章 容器网络 - 061 - flannel 的连通与隔离

flannel 的连通与隔离 测试 bbox1 和 bbxo2 的连通性: bbox1 能够 ping 到位于不同 subnet 的 bbox2,通过 traceroute 分析一下 bbox1 到 bbox2 的路径。 1) bbox1 与 bbox2 不是一个 subnet,数据包发送给默认网关 10.2.9.1&#…

Javascript 检测 页面是否在iframe中

//检测是否在iframe中if(self.frameElement ! null && (self.frameElement.tagName "IFRAME" || self.frameElement.tagName "iframe")){parent.parent.location "login.jsp";}转载于:https://www.cnblogs.com/kenkofox/archive/2011…

写给前端的算法进阶指南,我是如何两个月零基础刷200题 等推荐

大家好,我是若川。话不多说,这一次花了几小时精心为大家挑选了20余篇好文,供大家阅读学习。本文阅读技巧,先粗看标题,感兴趣可以都关注一波,一起共同进步。前端从进阶到入院作者ssh就职于字节跳动基础工程团…