![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构思维
文章平均质量分 92
qq_39093474
这个作者很懒,什么都没留下…
展开
-
互联网架构实践心得 (九)—架构评审一百问和设计文档五要素
API 的详细定义可以由 Swagger UI、Spring REST Doc、Miredot 等等工具生成,这些生成的接口是按照代码来组织层次关系的,只能体现接口的参数定义不能体现接口的形态等,是没有思想的,不适合用来阅读,只适合用来参考。分类,按业务功能的分类,按受众的分类等等形式(图上不同的颜色),同步还是异步(结果不在响应中,单独的回调返回),单条还是批量,数据接口还是页面调用等等重要性(图上文字后的星号),比如重点标记主流程的接口。翻译 2024-05-11 16:51:46 · 17 阅读 · 0 评论 -
互联网架构实践心得 (十)—数据的权衡和折腾
本文站在数据的维度谈一下在架构设计中的一些方案对数据的权衡以及数据流转过程中的折腾这两个事情。最后进行系列文章的总结和之后系列文章写作计划的一些展望。翻译 2024-03-28 18:12:39 · 26 阅读 · 0 评论 -
互联网架构实践心得 (七)——三十种架构设计模式
设计模式是前人通过大量的实践总结出来的一些经验总结和最佳实践,在经过多年的软件开发实践之后,回过头来去看23种设计模式你会发现很多平时写代码的套路和OOP的套路和设计模式里的总结的类似,这也说明了你悟到的东西和别人悟到的一样,经过大量实践总能趋向性得到出一些最佳实践的结论,架构设计也是一样。这里结合自己的理解分析一下微软给出的云架构的一些模式。话说微软干这方面的事情真的很厉害,之前翻译过的《微软应用架构指南》写的也很不错。。翻译 2024-03-27 14:33:01 · 71 阅读 · 0 评论 -
互联网架构实践心得 (六)—给飞机换引擎和安全意识十原则
这种方式的迁移是需要有短暂的停机的,两个脚本的执行和验证需要一段时间(数据量大的话导数据费时),如果希望尽可能减少停机时间的话,可以采用两段走的方式,先同步今天前的99.9%的数据到新数据库,在停机后再同步今天发生的那0.1%的数据,极端点希望彻底不停机的话,需要让业务同时走两套系统进行双写,这种方案大大增加了复杂度,但是可以换来几乎 0 停机的时间,除非是需要 24 小时在线的金融系统,一般不会考虑新老系统双活的方案。第二方面说的是,后端往往会返回更多的数据给前端,前端选择需要的数据进行呈现,有的时。原创 2024-04-07 18:24:01 · 531 阅读 · 0 评论 -
互联网架构实践心得 (四)—简单好用的监控六兄弟
这里所说的六兄弟只指 ELK 套件()以及 TIG 套件上图显示了两套独立的体系,ELK 和 TIG(TIG 是我自己编出来的,网上没有类似于 ELK 这种约定俗成的说法):这两套体系都由收集器+存储+展示网站构成,青绿色的收集器,蓝绿色的存储,红色的展示网站。这两套体系都有免费的组件可以使用,安装配置也相对简单(当然公司也要赚钱,他们肯定都主推 Cloud 版本,一般也不会用 Cloud 版本,肯定本地部署)。ELK 体系更多用于日志类数据的收集、保存、搜索、查看、报警。翻译 2024-04-24 17:09:19 · 144 阅读 · 0 评论 -
互联网架构实践心得 (三)—相辅相成的存储五件套
这里所说的五件套是指关系型数据库索引型数据库时序型数据库文档型数据库和缓存型数据库。这里只是说明了我们可以这么来搭配这些类型的数据库,不是说我们所有的应用都需要用到这些类型的数据库。同步写服务负责第一时间把重要的数据落地和落缓存。异步写服务通过监听 MQ 来感知数据的变化,然后重新读取最新的数据来把数据写入其它次要数据源,比如文档性数据库和索引型数据库,需要的话可以在缓存中回写一个状态。由一个专门的数据查询服务来根据需求做数据路由,根据需求和性能因素,从不同的数据源读取数据。翻译 2024-04-02 14:34:47 · 32 阅读 · 0 评论 -
互联网架构实践心得 (二)—屡试不爽的架构三马车
这里所说的三驾马车是指微服务消息队列定时任务。如下图所示,这里是一个三驾马车共同驱动的一个立体的互联网项目的架构。不管项目是大是小,这个架构模板的形态一旦定型了之后就不太会变,区别只是我们有更多的服务有更复杂的调用,更复杂的消息流转,更多的Job。整个架构整体是可扩展的,而且不会变形,这个架构可以在很长的一段时间内无需有大的调整。图上画了虚线框的都代表这个模块或项目是不包含太多业务逻辑的,纯粹是一层皮(会调用服务但是不会触碰数据库)。翻译 2024-04-02 14:33:34 · 41 阅读 · 0 评论 -
常用Git命令
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。有关Git的详细介绍可以参考Git简介经常使用 Git ,但是很多命令还是记不住。一般来说,日常使用只要记住下图7个命令就可以了。翻译 2023-07-14 10:16:12 · 51 阅读 · 0 评论 -
掌握14种UML图,清晰图示
UML是的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。【概念】类图是一切面向对象方法的核心建模工具,类图描述了系统中对象的类型和它们之间存在的各种静态关系。【目的】用来表示类、接口以及它们之间的静态结构和关系。在类图中表示私有属性,表示受保护属性,表示public属性。在类图中,常见的有以下几种关系。【概念】描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。【目的】用来展示各个组件之间的依赖关系。订单系统组件依赖于客户资源库和库存系统组件。翻译 2023-07-10 19:08:03 · 2540 阅读 · 0 评论 -
如何进行科学的技术选型
所谓“技术选型”对于程序员,尤其是互联网公司的技术负责人或架构师来说,一定很熟悉。技术选型往小了说,比如日常开发中的一个组件库的选择,往大了说,比如整个系统的开发语言、架构等。一般去确定某个技术选型的时候,我们都需要仔细的去权衡各种技术、各种方向的利弊,然后作出取舍。翻译 2023-04-06 11:16:27 · 165 阅读 · 0 评论