随笔分类 -  架构师速成

1 2 下一页

架构师速成-架构目标之伸缩性\安全性
摘要:为满足伸缩性,所需的架构模式包含:分布式,这个前面有单独的章节进行了讲解,分布式是互联网时代的主旋律。负载均衡,前面已经有讲解。服务拆分,按照业务进行系统服务的拆分并单独部署。为满足伸缩性,需要的支撑系统:运维系统:自动扩容,缩容监控系统监控流量,确定何时伸缩为满足安全性,所需的架构模式包含:数据加... 阅读全文

posted @ 2015-09-16 09:04 for5million 阅读(520) 评论(0) 推荐(0)

架构师速成-架构目标之可用性
摘要:服务器等,从而共同完成工作任务。各种负载均衡的软硬件有很多,我们可以单独讲解一下。配置中心,原来单一节点的配置,被类似zookeeper的多节点配置中心取代。流量控制,流量控制是保证大流量下系统可用性的重要手段,当系统流量不足以支撑所有流量时,只保留合理的流量处理。其他流量直接丢弃,否则系统会被压垮... 阅读全文

posted @ 2015-09-13 21:35 for5million 阅读(849) 评论(0) 推荐(0)

架构师速成-架构目标之可用性
摘要:服务器等,从而共同完成工作任务。各种负载均衡的软硬件有很多,我们可以单独讲解一下。配置中心,原来单一节点的配置,被类似zookeeper的多节点配置中心取代。流量控制,流量控制是保证大流量下系统可用性的重要手段,当系统流量不足以支撑所有流量时,只保留合理的流量处理。其他流量直接丢弃,否则系统会被压垮... 阅读全文

posted @ 2015-09-13 21:35 for5million 阅读(690) 评论(0) 推荐(0)

架构师速成-架构目标之正确性
摘要:本系统架构模式:统一异常统一异常处理是保证程序正确性的第一步,这是第一个架构模式。具体如何实现,详见前面的文章。日志日志也是保证程序正确的一大手段,虽然是在错误出现后,日志才会记录。但是日志是快速确认问题,并分析出隐藏问题的重要手段。关键点日志文件按照级别进行区分,将错误和普通调试日志分开日志文件滚... 阅读全文

posted @ 2015-09-08 19:37 for5million 阅读(659) 评论(0) 推荐(0)

架构师速成-架构的目标
摘要:架构的目标为了实现以下特性:正确性系统首先需要正确,运行稳定可用性软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠,一般99.99%是一个比较基本的要求。快速开发互联网目前是一个快鱼吃慢鱼的时代,已经不是大鱼吃小鱼了。因为小鱼在一夜之间就长大了,把大鱼吃掉了。诺基亚就是明证,f... 阅读全文

posted @ 2015-09-07 11:41 for5million 阅读(865) 评论(0) 推荐(0)

架构师速成-架构体系
摘要:经过这段时间的反思和整理,终于对架构有了一个较为明确的理解。架构是产品从无到有以及慢慢壮大过程中所需要的全部技术体系总称,架构过程:配置、编码、测试、运维、监控分析、安全、运营等一系列技术体系的选型、取舍技术选型基础上进行规划、设计、实现、迭代、制定相关规范相关技术及规范运用到产品开发的整个过程中,... 阅读全文

posted @ 2015-09-05 20:25 for5million 阅读(2408) 评论(2) 推荐(4)

架构师速成8.4-分库分表的关键点
摘要:我们还是由浅入深(这个词我喜欢,你呢?)的讨论一下,分库分表的关键点(本故事纯属虚构,仅为搞笑):当你的系统很小的时候,只有一个数据库,每个表的主键都是自增的,你都不去关心主键变成了多少,反正db保证自增,小日子过的很是惬意。但惬意的日子总是短暂的,你因为DB宕机被老板fire 3次(见上一个故事)... 阅读全文

posted @ 2015-08-13 09:10 for5million 阅读(2455) 评论(5) 推荐(0)

架构师速成-如何高效编程 for java
摘要:引子赵云大喝一声,挺枪骤马杀入重围,左冲右突,如入无人之境。那枪浑身上下,若舞梨花;遍体纷纷,如飘瑞雪。赵云是所有历史人物中我最喜欢的一个,如果放到现代,他走了it的道路,一定可以成为一个编程高手。为什么?其实古时打仗也是一门技术活,需要有勇有谋,跟it没有什么太大的区别。打仗要修身、修技、修器才能... 阅读全文

posted @ 2015-08-12 08:13 for5million 阅读(5702) 评论(31) 推荐(24)

架构师速成8.3-可用性之分库分表
摘要:有状态分布式,涉及的知识就比较多了,不过我们可以拿几个现实的例子由浅入深的来理解。数据库的分库分表假设你是一个开发负责人,开始使用单机的数据库,突然一天数据库硬盘挂掉了。你没有做备份,然后就没有然后了。进入第2个公司,你意识到备份的重要性,每天定时备份到另一台机器,突然有一天,数据库硬盘挂掉了。你心... 阅读全文

posted @ 2015-08-11 08:11 for5million 阅读(1628) 评论(5) 推荐(4)

架构师速成8.3-可用性之分布式
摘要:分布式算是软件界发展的一个里程碑,它开辟一个新的软件时代,其他的溢美之词我就不再乱说了。分布式按照我的观点,应该分为有状态和无状态2种:有状态分布式数据库分布式存储无状态分布式计算分布式web系统当然分布式尽量做成无状态的分布式,但是存储最终因为最终存储的是有状态的数据,所以不得不变的有状态。当然w... 阅读全文

posted @ 2015-08-10 08:14 for5million 阅读(1475) 评论(0) 推荐(1)

架构师速成8.3-可用性
摘要:作为一个软件系统可用性是第一位的,如果一个系统不可用,你其他的地方做的再怎么好,然并卵。一般什么情况下软件会不可用:我方发生故障,导致系统不可用,当然会出现单机的不可用及n多机器群的全部不可用。程序故障 功能错误、程序退出系统故障 CPU超负荷、内存超负荷、网络超负荷物理故障 机器死机 断电 断网不... 阅读全文

posted @ 2015-08-09 08:36 for5million 阅读(982) 评论(2) 推荐(1)

架构师速成8.3-架构师必须要了解的规则(转)
摘要:作为一个架构师,有些规则是必须要掌握的,这就想软件的公理,如果你学物理不知道牛顿定律,那就不要学了。在软件行业也有类似的东西,我称之为软件定律。例如:ACID,CAP,BASEACID传统数据库系统中,事务具有ACID 4个属性(1)原子性(Atomicity):事务是一个原子操作单元,其对数据的修... 阅读全文

posted @ 2015-08-08 09:52 for5million 阅读(925) 评论(0) 推荐(1)

架构师速成6.15-开发框架-单点登录
摘要:单点登录应该归为架构的部分了,但是一般网站在开始的时候最好有单点登录的思想,防止后期再做大量的修改。而且单点登录对于开发人员来说并没有增加太多额外的工作量,所以提前讲一下对大家都是好的。先说一下单点登录的机制(摘自百度百科,给我广告费):当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认... 阅读全文

posted @ 2015-08-07 09:45 for5million 阅读(939) 评论(0) 推荐(1)

架构师速成6.14-开发框架-异常处理
摘要:异常为什么需要单独一节来讲解呢?因为异常是软件设计里一项需要架构者自己构思处理的一个特殊部分。一般的框架没有提供统一的处理方式,而且会被很多同学忘记处理,或者是比较粗糙处理掉。想一想有很多网站出错时,用户会看到一大段的英文异常,甚至执行的sql都包含在里面,你会不会觉得很不专业呢?首先异常应该分类,... 阅读全文

posted @ 2015-08-06 07:12 for5million 阅读(851) 评论(3) 推荐(1)

架构师速成6.13-开发框架-前后结合
摘要:前面说完了前端和后端的封装,本节再单独讲解一下哪些地方需要前后结合。AJAX的前后端结合:定义统一的返回消息体,{isError:true/false,message:’需要返回的消息’,data:{返回的数据},postAction:{后续的动作}}根据消息体的返回,进行不同类别的展示,例如:错误... 阅读全文

posted @ 2015-08-05 08:55 for5million 阅读(663) 评论(0) 推荐(0)

架构师速成6.12-开发框架-前端封装
摘要:做一个网站不只有写后端代码,为了更好的用户体验以及更优雅的代码实现,我们也需要对前端进行封装。但是在谈封装之前还是要先提一下统一的规范,前端统一的规范尤为重要,这是给用户一致性体验最核心的关键点。我举一个反面的例子,大家可能一下就明白前端规范的重要性了。之前做过一个网站,流程如下:设计给图片前端照图... 阅读全文

posted @ 2015-08-04 09:17 for5million 阅读(944) 评论(0) 推荐(0)

架构师速成6.11-开发框架-后端封装思路 分类: 架构师速成 2015-07-31 07:46 91人阅读 评论(0) 收藏
摘要:要做一个好的开发框架并不是直接找一个现成的Spring就ok了,这个对于一般新手来说学习难度还是有点高。另外Spring还是一个通用性的框架,我们需要针对业务的定制化封装。我以java为例讲解一下后端需要做什么:确定层数结构parentcommontestdaoservice-commonservi... 阅读全文

posted @ 2015-07-31 07:46 for5million 阅读(551) 评论(0) 推荐(0)

架构师速成6.9-如何写好代码 分类: 架构师速成 2015-07-30 18:38 118人阅读 评论(0) 收藏
摘要:读过很多代码,有些人写了5年以上的代码,但是代码烂到直接让人无从读起。有人写的代码让人读的赏心悦目,为什么人与人之间的差距这么大呢?看来如何写好代码还是一件很值得一说的事情。关键思想:人写代码是用来给别人读的,而不是给机器执行的。写代码就应该像写小说一样,让人读的轻松愉快。软件的生命周期中,维护周期... 阅读全文

posted @ 2015-07-30 18:38 for5million 阅读(499) 评论(0) 推荐(0)

架构师速成6.8-设计开发思路-领域驱动 分类: 架构师速成 2015-07-30 18:28 15人阅读 评论(0) 收藏
摘要:领域驱动设计简称DDD,很好的名字,先来普及一下相关的名词缩写:测试驱动设计 TDD,行为驱动设计 BDD,面向对象设计 OOD,面向过程设计 OPD。设计思路和方法是一项专门的技能,区别于设计模式,编程语言。UML是设计的工具,设计方法是设计的灵魂,而且设计方法并没有好坏之分。关键是你需要掌握各种... 阅读全文

posted @ 2015-07-30 18:28 for5million 阅读(517) 评论(0) 推荐(0)

架构师速成6.7-设计开发思路-uml 分类: 架构师速成 2015-07-29 18:25 157人阅读 评论(0) 收藏
摘要:uml是什么东西?统一建模语言,一门语言,是用来进行软件设计的一门语言。其实一门语言的诞生并不伟大,让大多数人都使用才足够伟大。uml就是一门伟大的语言,因为目前软件设计的唯一语言就是它。UML其实还是比较简单的,就那么几个图形,那么几种模式,但是因为他是唯一的语言,所以有设计能力的人都能很容易看懂... 阅读全文

posted @ 2015-07-29 18:25 for5million 阅读(438) 评论(0) 推荐(0)

1 2 下一页