随笔分类 - 架构
架构设计
摘要:其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼? 我说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并发两三千的时候,基本就快完了。所以才有说,很多公司,刚开始干的时候,技术比较 low,结果业务发展太快,
阅读全文
摘要:1. 大型网站架构演化发展历程 1)初始阶段的网站架构 应用程序、数据库、文件等所有资源都在一台服务器上。Linux+PHP+Apache+MySQL。 初始阶段的网站架构 初始阶段的网站架构 2)应用服务和数据服务分离 使用三台服务器:应用服务器、文件服务器、数据库服务器。 应用服务和数据服务分离
阅读全文
摘要:1. 什么是架构 架构是软件系统的顶层结构。 框架是组件规范,提供基础功能的产品。 组件是从技术维度上的复用。 模块是从业务维度上的职责划分。 系统是相互协同可运行的实体。 2. 架构设计的历史 20 世纪 60 年代第一次软件危机引出了“结构化编程”,创造了“模块”概念。 20 世纪 80 年代第
阅读全文
摘要:1. 先搞清楚新的项目是搞什么的。 谁在用这个系统?用这个系统解决什么问题?用这个系统和不用这个系统的区别?根据这些问题去寻找答案。 2. 弄清楚系统是怎么分层、分模块的。 每层、每个模块都用到了哪些技术和框架,之间是怎么通信的。 3. 把开发环境搭建起来,通过几个典型的功能弄清楚系统里面的增删查改
阅读全文
摘要:互联网 Java 工程师进阶知识完全扫盲:https://github.com/doocs/advanced-java
阅读全文
摘要:1.项目的规模比数量更重要 2.由点及面的了解系统 了解整个系统的设计,难点和关键点。深入理解和挖掘。 3.系统故障后的技术复盘 故障报告详细的记录故障的处理过程,比如xxx时xx分,xxx做了什么操作,然后还会详细描述故障产生的原因和后续的改进措施。 定期举行故障复盘会议,大家会在一起讨论问题的根
阅读全文
摘要:研发工程师(RD)需要撰写的设计文档主要分为:总体设计文档 + 详细设计文档,后简称为“总设”+“详设”。 总设和详设都应该包含的部分:(1) 需求:一般以产品的语言描述,这一块可以拷贝产品需求文档中的story list部分;(2) 名词解释(可选):非相关领域内的同学需要看到文档需要提前了解的一
阅读全文
摘要:一、好接口的特性 (1)易学 (2)易用,甚至不需要文档 (3)难于误用 (4)容易阅读与维护 (5)容易扩展 二、接口设计实现的过程 (1)分析需求 考虑是否有更佳解决方案? 这是否使我们这真想要的需求? (2)设计小接口 这个阶段,快速敏捷迭代 小接口易于修改 小接口的实现给人自信,减少挫败感
阅读全文
摘要:从系统层面去优化系统往往有更为明显的效果,优化之前,可以思考,是否能够通过扩展系统来达到提高性能的目的:(1)Scale up:使用更强的硬件;(2)Scale out:使用更多的组件; 如果升级硬件的方法就能解决问题,为什么还要使用修改代码,调整架构这样大风险的举措呢?(需要考虑成本)以下是一些常
阅读全文

浙公网安备 33010602011771号