架构
文章平均质量分 64
融极
未来像盛夏的大雨,来不及撑伞就已经倾盆而下。
展开
-
概述-系统架构设计(一)
概述1.1 系统架构的概念现代信息系统的“架构”要素,即构件、模式、规划。现代信息系统的架构本质上存在两个层次:一个是概念层次,一个是物理层次。而概念层次则包含了艺术、科学、方法和建设风格。物理的层次是指在一系列的架构工作后而产生的物理结构及其相互作用的结果。软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,其对象是直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致的描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指原创 2022-05-29 22:42:21 · 1352 阅读 · 0 评论 -
软件架构演变与微服务简介
软件架构演变与微服务简介原创 2023-05-13 17:12:14 · 78 阅读 · 0 评论 -
Java的SPI服务发现机制详解
Java的SPI服务发现机制详解原创 2023-04-05 22:49:39 · 103 阅读 · 0 评论 -
单点登录详解
单点登录原创 2023-03-08 19:17:11 · 256 阅读 · 0 评论 -
UML 类关系(详解)——依赖、关联、聚合、组合、泛化
UML原创 2023-02-28 11:14:37 · 2152 阅读 · 0 评论 -
分布式系统详解
分布式系统原创 2023-02-15 23:15:52 · 285 阅读 · 0 评论 -
同步、异步、阻塞、非阻塞概念
同步、异步、阻塞、非阻塞概念原创 2022-10-04 11:35:03 · 555 阅读 · 0 评论 -
微服务架构选型
微服务架构原创 2022-07-31 11:30:55 · 182 阅读 · 0 评论 -
ShardingSphere之分库分表概念介绍(二)
shardingshpere原创 2022-07-27 22:46:06 · 161 阅读 · 0 评论 -
ShardingSphere简介(一)
shardingsphere分布式数据库中间件解决方案。原创 2022-07-27 21:51:44 · 1439 阅读 · 1 评论 -
Java高并发解决方案
高并发解决方案原创 2022-07-21 23:26:00 · 164 阅读 · 0 评论 -
MySql集群之主从复制(一)
mysql集群原创 2022-07-21 22:44:27 · 389 阅读 · 0 评论 -
分布式事务总结
分布式事务总结原创 2022-07-17 10:33:26 · 134 阅读 · 0 评论 -
Mongodb分片技术理论
mongoDB分片技术原创 2022-07-10 10:55:44 · 380 阅读 · 0 评论 -
分布式事务专题总结
分布式事务原创 2022-07-04 23:31:49 · 256 阅读 · 0 评论 -
分布式事务解决方案之TCC
分布式事务之TCC解决方案原创 2022-07-04 22:50:29 · 853 阅读 · 0 评论 -
分布式事务相关概念与理论
分布式事务理论原创 2022-07-03 18:50:55 · 171 阅读 · 0 评论 -
必备画图技能总结
概述程序员不是专门写代码的吗,只要把代码写得足够优雅就行了呀,为什么还要画图?画好图呢?没错!一图胜千言,对复杂问题进行分析分解,再通过图形化的表达方式,来描述业务或者技术上的逻辑,可以说事半功倍!今天作者就带大家认识一些常见的图、图的画法以及常用的画图工具。思维导图英文名称是The Mind Map,也叫做心智导图,脑图,心智地图,脑力激荡图,灵感触发图,概念地图,树状图,树枝图或思维地图。它是表达发散思维的有效图形思维工具,它简单却又很有效,是一种实用性的思维工具。可用于会议记录、思路整理、原创 2022-04-07 23:21:47 · 1402 阅读 · 0 评论 -
MySql数据库架构演变
概述参考mysql集群与分布式数据库的区别原创 2022-02-13 14:26:18 · 1606 阅读 · 0 评论 -
数据库-软件架构设计
范式与反范式在大学的数据库原理的教材,都会讲到数据库各个等级的范式。在一般的工程项目中,对于数据库的设计都要求达到第三范式。数据库范式的要求如下:但在互联网中,为了性能或便于开发,违背范式的设计比比皆是,如字段冗余、字段存在一个复杂的JSON串、分库分表之后数据多维度冗余存储、宽表等。虽然范式未必一定要遵守,但还是需要仔细权衡,什么时候应该遵守范式,什么时候可以违背范式。如果系统是重业务的系统,对性能、高并发的要求没那么高,最好保证数据库的设计达到第三范式的要求。不能仅仅为了开发的方便,在数据库中存原创 2022-01-26 20:57:55 · 1406 阅读 · 0 评论 -
网络-软件架构设计
概述网络协议有很多种,但对互联网来说,用的最多的就是HTTP协议。HTTP主要有1.0、1.1、2三个版本,在HTTP之上有HTTPS。1996年,HTTP1.0协议规范RFC 1945发布;1999年,HTTP1.1协议规范RFC 2616发布。2015年,HTTP/2协议规范RFC 7540/7541发布。HTTP/2还比较新,目前远没有达到普及的程度。在过去的近20年间,主流的协议一直是http1.1。接下来将对HTTP协议的发展脉络进行梳理。HTTP1.0HTTP1.0的问题HTTP原创 2021-12-18 22:01:08 · 1909 阅读 · 0 评论 -
操作系统-软件架构设计
概述对于开发者来说,I/O是绕不过去的一个基本问题。从文件I/O到网络I/O,存在着各式各样的概念和I/O模型,所以这里首先把涉及I/O的各种概念和原理理清。缓冲I/O和直接I/O应用程序内存是通过写代码用malloc/free、new/delete等分配出来的内存。用户缓冲区C语言的FILE结构体里面的buffer。内核缓冲区Linux操作系统的Page Cache。为了加快磁盘的I/O,Linux系统会把磁盘上的数据以Page为单位缓存在操作系统的内存里,这里的Page是Linux系统定原创 2021-12-08 23:07:17 · 2302 阅读 · 0 评论 -
语言-软件架构设计
层出不穷的编程语言编程语言实在太多了,并且往往与市场行情密切相关。语言如此之多,各大公司或者开源组织也在不断的推陈出新,要么在以前的语言上不断增加新功能,要么发明新语言。作为一个开发者,如何面对语言的不断更新迭代?是要不断地追求潮流,还是无论形势如何变化,我自岿然不动?精通一门语言俗话说:千招会不会一招熟。会一千种语言,每种语言都只学个半吊子,不如精通一门语言。首先,几乎所有的现代高级编程语言都有一些典型的共同特征,例如:都有一个基本数据类型的集合(比如java是8种基本数据类型);都有类原创 2021-12-07 21:47:51 · 314 阅读 · 0 评论 -
计算机功底-软件架构设计
概述无论我们做基础架构,还是中间件、大数据、业务架构,计算机功底都是必不可少的一个方面。并且往往越是专家,越注重功底;越是底层架构,对计算机的功底要求越深。对于一个上层系统开放者来说,熟悉操作系统、网络、数据库的原理,并不是为了要成为操作系统专家、网络专家、数据库专家,而是有下面几方面的作用:做上层开发时,可以很清楚哪些机制是底层的系统并且已经帮我们做了,而哪些机制底层不支持,需要自己去实现。比如使用数据库,在 什么情况下数据库的锁已经被加好了,不需要程序加锁;又在什么情况下需要应用程序自己显性地在原创 2021-12-07 21:33:03 · 1636 阅读 · 0 评论 -
架构的道与术-软件架构设计
何为道,何为术方法论,即是架构的道。具体来说,对于技术问题,主要指高并发、高可用和一致性方面;对于业务问题,主要指业务的需求分析和业务建模。这些方法论来自大量的业务系统实践,并在实践的基础上进行了思考和总结。道的东西往往会比较虚,可能说了半天对方还是不知道你说的是什么。但越是“虚”,越是“抽象”,就越有必要阐释清楚,而这也正是本系列文章要解决的一个问题:把抽象玄幻的业务建模方法论、晦涩难懂的分布式一致性理论,用通俗的语言表达出来。但要讲道,首先得讲术,因为得先有“地基”。术方法的东西大家比较容易理原创 2021-12-06 22:59:09 · 373 阅读 · 0 评论 -
幂等性详解与示例
概述我们实际系统中有很多操作,是不管多少次,都应该产生一样的效果或者返回一样的效果。例如:前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;我们发起一笔付款请求,应该只扣用账号一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;发送消息也应该只发一次,同样的短信发给客户,用户会哭的;创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题等待很多重要的情况都需要幂等的特性来支持。幂等性概念参考高并发下接口幂等性解决方案...原创 2021-11-06 15:44:53 · 1194 阅读 · 0 评论 -
微服务架构与SOA架构
概述通常认为微服务架构思想是SOA思想的一种延续,都强调松耦合,只是SOA高度依赖企业服务纵向(ESB),而微服务不需要。提出MicroService概念的Martin Fowler也说过,“我们应该把SOA看做微服务的超集”,也就是说微服务是SOA的子集。SOA一种架构思想,其中包含多个服务,服务之间通过配合最终会对外提供一系列功能。一个服务通常以独立的形式存在于操作系统进程中。服务之间通过网络调用,而非采用进程内调用的方法进行通信。MicroService一种架构设计思想,是SOA架构概原创 2021-03-28 16:21:52 · 388 阅读 · 2 评论 -
架构演进
目的满足业务的增长,根据不同的业务规模选择适用的架构。概念分布式what系统中不同功能的服务部署到不同的服务器上。why主要是为了解决业务增长带来的性能问题。how比如把tomcat服务和数据库服务分别部署到不同的服务器上。集群what同一功能服务部署在不同的服务器上,对外统一提供服务。why提供高可用:集群中的某个节点出问题不影响集群提供的服务。提高性能:解决单机性能瓶颈,多个节点可以通过负载均衡的方式共同承担外部的访问。how把zookeepe中的Master和Slav原创 2021-03-07 00:31:15 · 332 阅读 · 1 评论 -
CAP原则、BASE理论
概述参考https://www.cnblogs.com/duanxz/p/5229352.html原创 2021-03-04 22:58:21 · 124 阅读 · 1 评论 -
高可靠性、高可扩展性、大容量系统设计
概述这种问题其实有很多形式的提问方式:面对业务急剧增长你怎么处理?业务量增长10倍、100倍怎么处理?系统怎么支持高并发的?怎么设计一个高并发系统?高兵系统都什么特定?…这种问题我们可以有一个常规的思路去回答,就是围绕支撑高并发的业务场景怎么设计系统才合理?接下来我们就可以围绕硬件和软件层面怎么支撑高并发这个话题区阐述了。本质上,这个问题就是综合考验你对各个细节是否知道怎么处理,是否有经验处理过而已。面对超高的并发,首先硬件层面机器要能抗的住,其次架构设计做好微服务的拆分,代码层面各原创 2021-02-24 22:57:20 · 709 阅读 · 0 评论 -
高并发解决方案
什么是DNS解析域名DNS域名解析就是将域名转化为不需要显示IP、端口(二级域名的端口一般为80)的IP地址,域名解析的一般先去本地环境的host文件读取配置,解析成对应的IP地址,根据IP地址访问对应的服务器。若host文件未配置,则会去网络运营商获取对应的IP地址和域名。NginxNginx的作用反向代理、负载均衡、配置主备tomcat、动静分离应用场景做Http服务器、反向代理服务器、静态资源服务器什么是反向代理代替真实的服务器去接收网络请求,然后将请求转发到不同的真实服务器。如何配原创 2021-02-23 21:42:59 · 235 阅读 · 0 评论