
架构设计
上道至简
学习技术的过程,就是从学习怎么使用,到理解为什么这样用,再到自我创新,进一步优化,深度思考。
展开
-
架构的方法论之康威定律
最近阅读了架构之美,其中康威定律印象深刻,于是查阅了相关资料,再根据自己这么多年的开发架构经验,总结一下心得。首先来看一下这个定律的原文:Organizations which design systems are constrained to produce designs which are copies of the communication structures of these org...原创 2018-05-11 23:57:18 · 1315 阅读 · 0 评论 -
系统设计方法论
作为一个架构师,要如何高质量完成一个功能需求呢?1.确认需求。跟业务产品人员进行沟通确认,最好是有聊天记录等保存下来,形成文档,再由双方确认。2.分析需求。分表面需求和内在需求,而内在需求的挖掘需要一定的经验。3.分析资源。主要包括人、资源、时间节点、依赖资源,依赖资源一般都是第三方需要沟通,也是比较消耗时间的。4.需求范围。功能性需求和非功能性需求,而非功能性需求往往是指性能方面的需求。5.技术...原创 2018-05-12 23:22:22 · 1861 阅读 · 0 评论 -
如何提高网站性能
一、首先要分析网站的性能瓶颈网站性能影响的因素有很多,主要从以下几个方面来分析:1.网络负载。这个会分成外网和内网,需要对网络进行有效的规划。2.应用服务器性能。主要包括CPU、存储、I/O访问、内存、TCP/IP连接数等等。3.数据库服务器性能。主要包括数据库参数配置、设备性能、数据结构的合理性,另外要注意的是分布式架构、微服务需要避免分布式事务的产生。4.代码质量。主要是检查代码的编写质量,防...原创 2018-05-24 22:53:18 · 1467 阅读 · 0 评论 -
论架构中的设计思想
大道至简至易,法无定法。譬如我们知道设计模式有23种之多,但又有多少程序员能灵活使用到实际项目中去?下面谈谈在实际开发中的一些设计思想,希望对大家的架构设计有帮助。第一,分而治之。面对一个庞大而复杂的系统时,我们是否会感觉到无从下手,这种情况,我们可以梳理一下业务,然后根据高内聚低耦合的原则,对系统进行划分,从而各个击破。目前流行的微服务架构很好的阐述了这一点。第二,化繁为简。把一件复杂的事件拆分...原创 2018-06-05 23:18:56 · 2276 阅读 · 0 评论 -
理解幂等性设计
话说这个词出现的频率很高,在实际开发中遇到的也多,特别是微服务化之后,这个就显得更重要了。但是这个概念有时候会搞得有点糊涂,比如说一个查询接口,有可能因为其它请求修改了数据,从而导致它返回的数据是不一样的,这就跟大部分文章说的无论怎么请求,返回的结果一样有点矛盾。实际应该这么理解:幂等性强调的是外界通过接口对系统内部的影响, 外界怎么看系统和幂等性没有关系,只要一次或多次调用对某一个资源应该具有同...原创 2019-02-13 10:40:35 · 416 阅读 · 0 评论 -
如何在工作中提高架构设计能力
之前认识了一些工作五年以上的开发工程师,深聊之下发现虽然开发能力很强,但架构设计方面的能力还是偏弱,这不得不让人深思,五年以上的时候都在干嘛去了。通常毕业没多久的开发工程师,因为没有什么实际的开发经验,所以架构设计能力还处于初级阶段,这时候必须得有人带着开发,对所用的技术也是一知半解。但随着工作年限的增长,技术也在慢慢的提高,但并不代表,编程能力越强,架构设计能力就越强。 ...原创 2019-03-26 22:50:39 · 4513 阅读 · 0 评论 -
关于当前开源分布式任务框架的比较
最近有对分布式任务调度框架的选型,下面是个人整理的一个比较文档,供大家参考使用。分布式任务调度框架各有利弊,需根据实际需求决定使用。框架名称 xxl-job elastic-job 简介 大众点评员工徐雪里于2015年发布的分布式任务调度平台,是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 当当开发的弹性分布式任务调度系统...原创 2019-04-23 21:59:48 · 3506 阅读 · 1 评论