架构师

架构师能力模型

♀尐吖头ヾ 提交于 2019-12-18 20:19:40
https://github.com/elithnever/paperreading/blob/master/%E6%9E%B6%E6%9E%84%E5%B8%88.md#架构师能力模型 架构师能力模型 架构师在很多人眼中是一个非常高大上的职业, 就像武侠小说中的绝世高手一样, 关键时刻可以起到扭转乾坤的作用, 是团队中的灵魂人物. 回想我自己做一线架构师的过程中, 也没有经历过比较系统的培训, 都是摸着石头过河. 近期在培养架构师的过程中, 促使我一直在思考, 一个合格的架构师到底应该具备哪些能力? 对希望成长为架构师的同学, 或者在承担架构师职责的同学, 需要提供哪些方面的指导和帮助, 才能让他逐步成长为合格的架构师呢? 下面我结合自己的经验, 总结了我认为对架构师来说非常重要的十项能力, 希望给那些努力成长为架构师的同学提供一点点帮助. 研发流程的持续改进 架构师不是单兵作战, 凭借个人英雄主义是无法做成大事的. 架构师一定是指挥一个团队来共同完成既定目标, 或者一个复杂项目. 在软件研发领域, 决定团队研发效率的核心在于研发流程的优化. 现阶段互联网公司大多采用敏捷研发流程, 这其中主要包括: 需求卡片的状态流转. 尽可能依靠工具实现状态的自动化流转, 减少人为操作的情况. 开发工具的选择. 比如web ide, 代码审查工具, 项目管理工具等. 代码的开发和审查

构建企业级业务高可用的延时消息中台

无人久伴 提交于 2019-12-18 16:41:56
1.业务场景剖析 公司业务系统(比如:电商系统)中有大量涉及定时任务的业务场景,例如:实现买卖双方在线沟通的IM系统,为了确保接收方能够收到消息,服务端一般都会有重试策略,即服务端在消息发出的一段时间内,如果没收到接收方的确认信息,则重新发送消息。这就是一个典型的定时任务场景—消息发出等待固定的时间后,触发消息重发逻辑,重发逻辑首先判断所发消息是否收到确认信息,如果没有就将对应的消息再发送一次。类似的场景有很多,例如:自动取消长时间未支付的订单、买家收货一段时间以后自动确认打款等等。 应对上述场景比较粗暴的解决方案是定时扫库,例如:业务将订单的支付超时时间定义为2小时。可以每1分钟扫一次订单库,将超时订单取消。显然,此方案不够优雅,主要问题如下: 1.增加数据库读压力; 2.不够精确,会有最长1分钟的滞后; 扫库的方案一般体量不大时可以使用,当业务发展到一定规模后就不再适用。对IM消息重发秒级别的定时需求,只能增加扫库的频率,但过于频繁的扫库很可能会将数据库拖垮。显然需要更优雅的技术方案解决定时任务问题。 2.时间轮算法剖析 时间轮算法可以高效的处理定时任务,并且有非常高的精度。我们以IM的消息重发功能为例介绍下时间轮算法的应用。假设消息发出15秒后触发重发逻辑,可以设计如图1所示的数据结构: 图1 时间轮算法 1.一个包含15个元素的数组,数组每个元素指向一个链表

“云时代架构”经典文章阅读感想六

大憨熊 提交于 2019-12-18 01:07:31
“云时代架构”经典文章阅读感想六 (架构设计思维-分解) 这学期因为正在修软件体系架构这门课程,因此需要对软件架构进行深部了解,老师上课经常说的就是要站在架构师的高度去看设计,在设计师不应该是用户需要什么就实现什么,而是应该站在架构师的高度进行挖掘隐性需求。当我们站在架构师的角度去看问题时,视野也会更加明朗,因此一个合格的架构师应该具备的基本修养便是着眼于高远 身为架构师进行架构设计时的思路大体上是:分解、集成、分离、复用、分层、模式、抽象、结构化、迭代、勿做过度设计这几部分,按照这个思维方式来设计系统架构。 分解作为软件架构的关键步骤,而架构分解的关键点在于分解纬度和分解战术。 架构分解是架构师接到需求到完成架构设计中最关键的一步,分解可以帮助架构师了解需求中未呈现出来的隐性需求要素,分解也是架构师解决非功能层面需求的重要手段,架构要解决高性能、高可用、伸缩性、可扩展性等问题,针对这些问题,我们一般从几个方面进行入手: 应用层:按照功能或者微服务进行分解,将系统划分未若干子系统,低耦合存在,在业务角度可以将单个应用独立为应用单元(应用单元是无状态的),这样可以灵活地进行伸缩。 数据层:对数据库进行垂直拆分按照子系统纬度进行分库和水平拆分按照业务纬度进行分表;但是进行分库分表中要避免分布式事务,实在无法避免可利用消息系统来进行规避。 代码结构层:代码层一般分为三层,从下至上分别为

今天看见的一碗鸡汤

拥有回忆 提交于 2019-12-17 00:09:47
今天看见的一碗鸡汤 本可以3年架构师、5年CTO的 我看着咱们的一些同学,真是活生生的把一手好牌打烂了,本可以3年架构师、5年CTO的主,结果却在那sb一样荒废青春,还洋洋得意。 https://www.cnblogs.com/alex3714/p/6902641.html 要想往上爬,必须不断武装自己,别天天跟身边和你level一样的人混,这样你当然不会有危机感,也找不到攀比对象,我去硅谷看到的工程师,一水的斯坦福、mit、卡梅隆等,就算之前我在中金的时候 ,身边也多是清华北大,在这样的人群中,你才会感知到差距。你想往上爬,这些人不想么?你身边的屌丝多数是没机会的,你以后竞争者是那些各种吊炸天名校、身背各种干死你装备的人,你怎么跟他们拼????呵呵 来源: CSDN 作者: 春哥的技术还不行 链接: https://blog.csdn.net/qq_39817135/article/details/103570839

web架构师经验之谈

别说谁变了你拦得住时间么 提交于 2019-12-16 19:53:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路,如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员们,你们有没有下面几种感觉? 一、我的工作就是按时完成领导交给我的任务,至于代码写的怎样,知道有改进空间,但没时间去改进,关键是领导也不给时间啊。 二、我发现我的水平总是跟不上技术的进步,有太多想学的东西要学,Jquery用的人最近比较多啊,听说最近MVC比较火,还有LINQ,听说微软又有Silverlight了…… 三、我发现虽然我工作几年了,除了不停的coding,Ctrl+c和Ctrl+V更熟练了,但编码水平并没有提高,还是一个普通程序员,但有人已经做到架构师了。 四、工作好几年了,想跳槽换个工作,结果面试的考官都问了一些什么数据结构,什么垃圾回收,什么设计模式之类的东西,虽然看过,但是平时用不着,看了也忘记了,回答不上来,结果考官说我基础太差。。。 有没有,如果没有,接下来就不用看了,你一定是大拿了,或者已经明白其中之道了,呵呵。 如果有,恭喜你,你进入学习误区了,如果想在技术上前进的话,就不能一直的coding,为了完成需求而工作,必须在coding的同时,让我们的思维,水平也在不停的提高。

fastdfs常见故障

老子叫甜甜 提交于 2019-12-15 09:16:48
1 机器故障(集群) 1.1 如果集群中,假设其他组的剩余空间都是1%,只剩下一组能够提供服务(一组中有3台机器),如果这组服务中有一台机器挂了,唯一的一个集群是否还能继续服务? 1.2 如果有2个集群可用,如果其中一个1个集群不可用,是否能够自动切换到另外一个集群? 2 磁盘故障 2.1 更换磁盘,不能写入问题 3 配置文件不正确 3.1 新加机器,更换磁盘,认为改动配置文件不正确? 3.2 reserved_storage_space = 1% 6:FastDFS 和 FastDHT 服务正常,但是添加切图任务失败,查看 debug 版的 iserver.log,日志显示“向 FastDFS 的 storageServer 上传数据 tileset_names 时,发生 MyException ,异常信息是:getStoreStorage fail, errno code: 28”,这是什么原因? A:错误代码28表示 No space left on device。FastDFS 可在 tracker.conf 配置文件中设置 reserved_storage_sapce 参数,即 storage 的预留存储空间大小,默认为10%。如果预留空间小于该设置值,将出现28错误。 1、安装完fastdht后,启动fastdfs的storage报错fdfs_storaged:

导读篇 Spring Cloud--通往架构师的必修课程

↘锁芯ラ 提交于 2019-12-14 06:05:23
读者朋友们,大家好!我是CSDN博客专家李熠,目前就职于中国石油规划总院,著有《Spring Cloud实战演练一书》。从今天开始,我将发表一系列关于Spring Cloud方面的专题文章,本次专题将分为Spring Boot和Spring Cloud两大主题,带领读者在轻松愉快的环境中学习Spring Cloud。课程内容言简意赅,为Spring Cloud的入门专题,希望读者学习完本专题,能够对Spring Cloud有一个更加深入的认识,在通往架构师的道路上更进一步。 本章为导读篇,旨在帮助读者在正式进入Spring Cloud的学习前,能够清晰地认识到微服务的基本概念,以及怎样开始学习。 什么是微服务 相信大多数读者都听过甚至了解过微服务这个概念,在各大论坛、博客都能见到它的身影,但并没有深入研究过它。 提起微服务,还要追溯到上世纪80年代,它最早由Martin Fowler提出,他倡导使用面向技术构建多层企业应用。随着时间的推移,尤其是在用户量与数据量激增的当下,微服务这个概念被逐渐重视,并且变得流行起来。 微服务,顾名思义,就是将一个大型应用拆分为多个细小的工程,每个工程都是一个服务,它们只做一些事甚至只做一件事,这些微服务构成了整个应用体系。 微服务不是一个框架,它只是一个架构思想,旨在将各功能离散到各个服务中,从而降低系统的耦合性,并实现更加灵活的服务支持。 图0

如何成长为一名合格的架构师?

℡╲_俬逩灬. 提交于 2019-12-11 06:04:56
作者|一乐 编辑|小智 1.架构师平时都做些什么事?. 主要当然是跟架构相关的事情吧(好像是废话哎),具体一点就是架构设计,讲解推广,然后再做一些代码方面的工作。说起来,讲解推广可能是很多人不太重视的,但其实它的比重还是比较大的,基本能到三成。 而这三者的比例,5:3:2也是很经常的。也就是说,团队到达一定的规模,架构师可能80%的时间都不在编程而在思考上。想(设计)不好,团队就会走很多弯路。很多时候我们太忙,看起来是事情太多,但其实可能是想得太少。 会写代码么?会写,但是可能并不会是核心代码,这个其实看每个团队的成熟程度,比如早期我会写一些核心代码,但是后来因为团队比较厉害了,如果我不分配足够的精力在某个功能实现上,为了不拖累整体的进度,会倾向于写一些边缘的代码,主要是了解团队的代码质量和实现进度。现在可能更多的写一些试验性的代码,去玩一些新的技术。 这里面还有个很特殊也很重要的工作,就是故障处理。对于一个系统来说,实现出来只是第一步,真正做成高可用的系统,还有相当长的路要走。这个过程中,你会遇到各种各样的情况,遭遇系统宕机、服务崩溃等等。基于故障的改进是架构演化很重要的一种形式。我们经常说,故障是推动技术进步的重要动力,就是这个意思。在处理故障的过程中,才会更容易体会思考当前系统的缺陷,后续改进的方向也会更加明确清晰。 前面这些事情基本都是属于输出型的,是个人对团队的贡献

AWS助理架构师认证备考之路

流过昼夜 提交于 2019-12-10 17:47:02
考试介绍及报名 AWS官方推出的云计算架构师能力认证,分为助理级和专业级,本攻略针对助理级架构师认证AWS Soluctions Architect - Associate (SAA-C01)。 通过AWS认证中心网站预约考试即可,基本随约随考,可以选择离自己近的考点,深圳南山区在赋安科技大厦,会安排在一个小会议室里,里面有几个小隔间,电脑考试,自动出成绩。考试的详细介绍网上资料较多,本文重点分享一下我的复习经验以及最新的重点考试内容。 复习方法与材料 以下复习途径,可以穿插着完成,大概需要一个月时间复习。 教材 官方学习手册, AWS-Certified-Solutions-Architect-Official-Study-Guide.pdf 可以下载打印或者某宝购买。 需要认真读完 ,每章后面的练习题用来检验了解程度,出错的题目用彩色笔特别标出,最后可以一起检查一下错误的题目。 模拟题 udemy AWS Certified Solutions Architect 2019 Practice Questions 注册新账户,可以10.99美金优惠价购买,里面有6套题目。 开始复习前可以做一套,了解大致知识点,有目的的去阅读教材。 教材读完之后可以再做两套,巩固基础知识点; 然后看AWS白皮书之后再做剩余的。 最后一套考前练手使用 网站支持筛选做错的题目复习,做过的还支持重新测试