- 博客(1091)
- 资源 (203)
- 收藏
- 关注
转载 「软考高级」系统架构设计精华知识点汇总
在执行交付计划之前,极限编程要求团队对系统的架构做一次预研(架构穿刺),当架构的初始方案确定后,就可以进入每次小版本的交付,每个小版本交付又被划分为多个周期相同的迭代,在迭代过程中,要求执行一些必须的活动,如编写用户故事、故事点估算、验收测试等。是一种近螺旋式的开发方法,提倡测试先行,将复杂的开发过程分解为一个个相对比较简单的小周期,通过交流、反馈、简单、勇气,开发人员和客户可以非常清楚开发进度、变化、待解决的问题、潜在的困难等,并根据实际情况及时的调整开发过程。
2024-04-05 08:41:59 65
转载 微服务场景下的分布式事务解决方案
本地事务在单个数据库上执行的事务,可以利用关系型数据库本身提供的事务特性来实现事务管理。事务的四大特性 ACID1. 原子性:事务是一个不可分割的执行单元,要么全部执行成功,要么全部回滚。2. 一致性:使数据库从一个一致性状态转变到另一个一致性状态。3. 隔离性:事务的执行是相互独立的,互不干扰。4. 持久性:事务的执行结果必须是持久化保存的,事务一旦提交,改变是永久的。事务并发执行的问题1. 丢失更新:[ 写-写 ]2. 读脏数据:[ 写-读 ] 读到尚未提交的数据。
2024-04-05 08:28:22 35
转载 程序员的职业生涯,一个年薪50万程序员的自述
目前在二线城市-郑州一家30人的软件公司担任研发总监岗位,将近13年的程序员生涯,分享一些经验,更多的可能是教训吧,希望对题主有些帮助。首先分享一下我的程序员职业生涯发展经历,还是以工作年限和收入为主线来描述吧,比较直观,钱 一定是大家比较关注的点。下图中纵坐标为我的年薪收入,横坐标为工作年限,2010年毕业,至今13年了。首先我是一个很普通的人,农村出身,父母没什么文化,更没什么背景。从一个山里的高中,费了九牛二虎之力考上了一个二本大学。当年我们那届高中毕业生,整个学校考上二本以上的人只有4个。
2024-01-13 09:15:30 88
转载 Docker 入门终极指南,详细版!别再说不会用 Docker 了!
容器化技术必将是云时代不可或缺的技能之一,而Docker只是沧海一粟。随之而来的还有集群容器管理K8sIstio等技术。打开Docker的大门,不断抽丝剥茧,逐层深入,你将感受到容器化的无穷魅力。来源:jartto.wang/2020/07/04/learn-docker。
2023-08-06 08:08:21 104
转载 Kubernetes CoreDNS 详解
有些场景下,某些用户它的应用需要自定义DNSPolicy,比如它有自己的nameserver,它有自己的searchdomain,你可以在你的pod里面定义dnspolicy为none,然后加上自己的dnsconfig。
2024-04-21 16:34:46 16
转载 数据库之事务隔离级别详解
儿子拿着父亲的信用卡去消费(卡里目前有10),当他买单时(父亲事务开启),收费系统事先检测到他的卡里有10万,就在这个时候!儿子某一天去消费,花了8千元,然后他的父亲去查看他今天的消费记录(全表扫描,儿子事务开启),看到确实是花了8千元,就在这个时候,儿子花了1万买了一部电脑,即新增INSERT了一条消费记录,并提交。但是转账时父亲不小心按错了数字,按成10万/月,该钱已经打到儿子的账户,但是事务还没有提交,就在这时,儿子去查看自己的储蓄卡,发现转多了9万,以为凭空多了9万非常高兴。一个事务被提交之后。
2024-04-21 14:42:25 29
转载 一文搞懂 Seata AT 模式使用及底层原理
AT模式,是seata的默认/独有模式,也是实际项目中比较常用的一种模式,他采用的也是两阶段提交,不过弥补了XA模式中资源锁定周期过长的缺点,相对于XA来说,性能更好一些,但缺点就是数据不是强一致,因为它的数据会真实的提交到数据库的,而如果后面做分支事务有问题的话,回滚靠的是日志来实现最终一致。tx1 先开始,开启本地事务,拿到本地锁,更新操作 m = 1000 - 100 = 900。如果 tx1 的二阶段全局回滚,则 tx1 需要重新获取该数据的本地锁,进行反向补偿的更新操作,实现分支的回滚。
2024-04-21 14:40:28 13
转载 大数据架构案例分析
前一类的数据主要由流量方以接口的方式提供(比如对接的腾讯广点通平台),后一类则是某网特有的数据,通过买家的浏览、下单、付款日志算出来。1. 在数据层面只维护一张包含所有指标的MySQL表,表中的stday字段作为索引,stday=当天的保存实时数据,stday<当天的保存离线数据。典型的大数据架构,除了Lambda架构之外,还有kappa架构,这两个架构的区别如下标所示,请补充表中空(1)-(4)第二,实时数据只对接了内部的kafka消息,没有实时的获取第三方的曝光、点击、浏览数据。
2024-04-21 08:58:16 9
转载 数据仓库、联邦数据库、商业智能BI
3. 分类分析:每个记录赋予一个标记,按标记分类记录,具有类别的样本特点。BI的三大组成部分:数据仓库 + OLAP + 数据挖掘技术。1. 关联分析:一个事件发生的同时,另一个事件也经常发生。4. 聚类分析:根据一定的规则,合理划分记录集合。2. 序列分析:一定时间间隔内接连发生的事件。6. 时间序列分析:随着时间而变化。
2024-04-21 08:54:58 12
转载 一文吃透 WebSocket 原理
当客户端第一次发送请求至服务端时会携带唯一标识、以及时间戳,服务端到db或者缓存去查询改请求的唯一标识,如果不存在就存入db或者缓存中, 第二次客户端定时再次发送请求依旧携带唯一标识、以及时间戳,服务端到db或者缓存去查询改请求的唯一标识,如果存在就把上次的时间戳拿取出来,使用当前时间戳减去上次的时间, 得出的毫秒秒数判断是否大于指定的时间,若小于的话就是在线,否则就是离线;事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。
2024-04-21 06:44:31 5
转载 zookeeper之脑裂
脑裂是在分布式系统中经常出现的问题之一,它指的是由于网络或节点故障等原因,导致一个分布式系统被分为多个独立的子系统,每个子系统独立运行,无法相互通信,同时认为自己是整个系统的主节点,这就会导致整个系统失去一致性和可用性。脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群,而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Master节点,Zookeeper集群中有Leader节点。
2024-04-20 14:31:58 10
转载 一文彻底搞懂Raft算法,看这篇就够了!!!
分布式一致性是指在分布式环境中对某个副本数据进行更新操作时,必须确保其他副本也会更新,避免不同副本数据不一致。在大量客户端并发请求读/写的情况下,维护数据多副本的一致性无疑非常重要,且富有挑战。因此,分布式一致性在我们生产环境中显得尤为重要。数据不能存在单个节点(主机)上,否则可能出现单点故障。多个节点(主机)需要保证具有相同的数据。
2024-04-20 14:26:17 22
转载 【系统分析师】案例分析精华知识点
OOA的基本任务是运用OO方法,对问题域进行分析和理解,找出描述问题域和系统功能所需的类和对象,定义它们的属性和职责,以及它们之间的各种联系。所有功能都定义为独立的服务,服务封装了业务上稳定、重复出现的功能和构件,服务之间通信使用独立的标准化接口,以定义好的顺序调用这些服务来形成业务流程。PDOA的特点是重新将重点定位在问题域和需求上,通过对问题域的分类,提供具体问题的相关指南,更多的强调描述,而少强调建模,问题框架是PDOA的核心元素,它的成果只是一份问题域的全面描述和一份需求列表。
2024-04-20 14:17:10 13
转载 「系统分析师」案例分析必背高频考点
状态图:描述对象在生命周期内响应事件所经历的一系列状态以及状态间的转移,着重表现对象的状态变化,强调对象基于事件反应的动态行为,适合用于反应式系统建模,能够表示对象状态和事件之间的关系。协作图:描述整个系统的对象之间的协作关系,强调接收和发送消息的对象的结构组织,通常表示较高层次的概览性视图,更关注参与交互的对象之间的结构组织和协作关系。活动图:描述对象活动的顺序关系所遵循的规则,着重表现系统的行为,强调活动的顺序和条件控制,适用于系统行为建模,能够表示活动的并发与同步。
2024-04-20 14:15:43 15
转载 系统建模语言SysML & 统一建模语言UML
(Block Definition Diagram,BDD):用于表示模块和值类型之类的元素(定义能够在可操作的系统中存在的事物类型)以及那些元素之间的关系。BDD的通常用法包括显示系统层级关系树以及分类树。
2024-04-20 14:14:10 5
转载 软考学习 | 面向对象分析方法OOA
从用户的角度看,他们并不想了解系统的内部结构和设计,他们所关心的是系统所能提供的服务,这是用例方法的基本思想。用例是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。子类和父类之间的关系,子类继承父类,父类是子类的泛化,在图形上表示为带空心箭头的实线,指向父元素。时,这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例,<<include>>是包含关系的构造型,箭头指向抽象用例。信息流不是由通信关联来表示的,该信息流是默认存在的,并且是双向的,它与箭头所指的方向没有关系。
2024-04-20 14:12:40 23
转载 《SysML精粹》学习记录--第十一章
需求图是SysML中的主要媒介,可用于向利益相关者传达建模者设计各个方面的信息。基于文字的需求(以包含它们的需求说明书)在传统上是系统工程中的重要产品。越来越被广泛使用的技术是创建用例(以及相关案例叙述)来替代基于文字的功能性需求,创建约束表达式来替换基于文字的非功能性需求。需求图可以帮助看图者确定从需求到系统模型中依赖于它的元素的可跟踪性。系统模型依赖的最常见的类型包括模块、用例、测试案例和其他需求。
2024-04-16 22:01:35 18
转载 UML2.0最新版入门图解
关联是一种拥有的关系,具有方向性,如果一个类单方向的访问另一个类,则称为单向关联(用一个箭头的实线表示);部署图包括了组件图中的符号,另外还增加了节点的概念,节点主要包括处理器(如计算机主机)和设备(如打印机),UML图中使用三维立方体表示节点,节点的名称位于立方体的顶部。整体与部分的关系,当某个实体聚合成另一个实体时,该实体还可以是另一个实体的部分,例如,学生既可以是足球俱乐部的成员,也可以是羽毛球俱乐部的成员。其中,最常用的UML图包括:用例图,类图,组件图,部署图,顺序图,活动图,状态机图等。
2024-04-16 21:58:25 11
转载 LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
其中,IP隧道(IP tunning)是一种数据包封装技术,它可以将原始数据包封装并添加新的包头(内容包括新的源地址及端口、目标地址及端口),从而实现将一个目标为调度器的VIP地址的数据包封装,通过隧道转发给后端的真实服务器(Real Server),通过将客户端发往调度器的原始数据包封装,并在其基础上添加新的数据包头(修改目标地址为调度器选择出来的真实服务器的IP地址及对应端口),LVS(TUN)模式要求真实服务器可以直接与外部网络连接,真实服务器在收到请求数据包后直接给客户端主机响应数据。
2024-04-16 21:54:47 41
转载 谈谈我的软考高级考证之路(系统架构设计师篇)
除了过程段的内容需要考试当天临场发挥之外,其他段的内容都可以提前准备背住。其次不管有没有做过项目,提前定一个项目背景。一个论文通用模板+一个固定项目背景,不管论文是什么题目,论文的结构可以直接套用通用模板,结构和框架相同,只需要替换内容就好了。在准备论文时,建议多参考网上的论文范文,再自己模仿着撰写至少三篇涉及不同主题的论文,特别是关于架构设计方向的内容。然后再写几篇最近比较流行技术主题的论文,例如云原生、区块链或Web3等,那论文基本就没啥问题了。
2024-04-13 10:51:04 694
转载 2023年软考系统架构师考题分享
够惊喜的,但也不意外,咱们考试之前也分析过,必选题有可能会变,还真的变了,变成大数据了,这就引来了很多小伙伴的吐槽,并不是所有的公司都需要大数据的,尤其对于中小型公司,数据体量达不到,强行上大数据是不是有点为了技术而技术的感觉,就像马斯克喊下云,别人都在喊上云,马斯克发现上了云之后人员徒增,成本也涨了,那我上云的意义是什么?(I) kafka;下图1给出了某网奥运的大数据架构图,请根据下面的 (a)~ (n) 的相关技术,判断这些技术属于架构图的哪个部分,补充完善下图1的 (1) - (9) 的空白处。
2024-04-13 10:47:57 137
转载 软考架构案例之大数据架构
前不久参加了11月份的软考系统架构师,下午案例中还是有很多的架构相关的知识点,比如大数据架构和动静分离架构图等等。其中大数据架构的题目是填空Lambda和Kappa架构的架构图各个层次的组成部分,还有一个大数据架构的特点以及两种架构对比的维度,这个题目是案例第一题必选,分值25分。那么,今天就来解答一下这个题目并以大数据架构为主题分享一下官方软考大纲中的大数据架构。
2024-04-13 10:46:51 40
转载 系统架构设计师案例分析知识点总结(更新到2023年最新知识点)
这篇文章是我去年考架构时总结下来的案例知识点,内容是根据刷题和平时的一些积累所总结的,个人觉得非常具有参考价值,希望各位备考的同学可以在考前一个月打印出来,每天早晚复习几条,最主要是加强理解,案例方面主要还是靠平时的积累,考试时即使碰到陌生的题目,也不会太慌乱。案例解题秘籍:1.案例题怎么选择,拿到题后,先用3分钟时间看一下这五道题,哪些是你熟悉一些的,哪些知识点不熟悉,对每个题目的每一问逐条做一个估分,如果当前题目拿不了15+,就看下一个,选题主要目标是选中的三个题目分数都有能超过15分的
2024-04-13 10:44:45 78
转载 缓存一致性问题解决方案
删除缓存有两种方式针对缓存一致性要求不是很高的场景,那么只通过设置超时时间就可以了延迟双删用比较简洁的方式实现 mysql 和 redis 数据最终一致性,但它不是强一致。延迟,是因为 mysql 和 redis 主从节点数据同步不是实时的,所以需要等待一段时间,去增强它们的数据一致性。延迟是指当前请求逻辑处理延时,而不是当前线程或进程睡眠延迟。
2024-04-13 08:13:48 29
转载 深入学习MySQL 02 日志系统:bin log,redo log,undo log
实际事物的执行顺序如下: A.将id=1的行name的值读取到内存中 B.记录id=1的行name=ken到undo log C.修改name=wk D.记录相应数据页的修改到redo log,并更新内存中的数据 E.将id=2的行name的值读取到内存中 F.记录id=2的行name=lj到undo log G.修改name=lj H.记录相应数据页的修改到redo log,并更新内存中的数据 I.记录事务中所有SQL的逻辑操作到bin log J.提交事务 K.MySql。
2024-04-13 08:02:19 7
转载 分布式事务XA、AT、TCC、SAGA
事务强一致性,满足ACID原则常用数据库都支持,实现简单,没有代码侵入 缺点:因为一阶段需要锁定数据库资源,等待二阶段结束才释放,所以性能较差依赖关系型数据库实现事务XA模式一阶段不提交事务,锁定资源;AT模式一阶段直接提交,不锁定资源。XA模式依赖数据库机制实现回滚;AT模式利用数据快照实现数据回滚。XA模式强一致;AT模式最终一致一阶段完成直接提交事务,释放数据库资源,性能比较好利用全局锁实现读写隔离没有代码侵入,框架自动完成回滚和提交。
2024-04-13 07:56:11 3
转载 分布式事务-XA和AT模式
XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。AT模式中的快照生成、回滚等动作都是由框架自动完成,没有任何代码侵入,因此实现非常简单。AT模式同样是分阶段提交的事务模型,不过缺弥补了XA模型中资源锁定周期过长的缺陷。XA是规范,目前主流数据库都实现了这种规范,实现的原理都是基于两阶段提交。
2024-04-13 07:19:45 18
转载 高可用集群架构Keepalived双机主备原理
当我们的主节点坏掉之后,用户的所有请求都是请求不了,用户在请求我们的网站,或者调用相应的接口,其实它是访问不了的,因为我们主节点的Nginx是挂掉的。接下来我们来看一下Nginx的高可用,目前,用户在访问网站时,是先直接访问到Nginx,然后Nginx下面挂着一个Tomcat集群,Tomcat在集群环境下是彼此协调,如果有一台Tomcat宕机了,其他的Tomcat还是能够继续为用户提供服务的,这是没有问题的。当然,用户并不是直接访问的IP,而是在一开始请求到域名,域名又会涉及到DNS解析的一个过程。
2024-04-13 06:53:51 8
转载 【软考系统架构设计师】DSSA特定领域软件架构
本阶段的重点是确定什么在感兴趣的领域中以及本过程到何时结束。这个阶段的一个主要输出是领域中的应用需要满足一系列用户的需求。这是DSSA(领域特定软件体系结构)过程的初始阶段。在此阶段,领域专家和系统架构师确定DSSA的关注领域。他们识别出关键的业务、系统和技术方面,这些方面是DSSA需要支持的。此外,该阶段还定义了DSSA的边界和范围,以避免与不相关的系统或业务领域产生混淆。本阶段的目标是编译领域字典和领域术语的同义词词典。
2024-04-13 06:50:00 24 1
转载 计算机网络基础知识
1. SYN Flooding: 同步包风暴,利用TCP三次握手,发送大量伪造的TCP连接请求,三次握手,只进行了两次,7. 应用层:HTTP、FTP、SMTP、POP3、Telnet | TFTP、DNS、SNMP、DHCP。【DHCP】动态主机配置协议,为主机分配IP地址:固定分配、动态分配、自动分配。【接入层】用户接入、计费管理、MAC地址认证、MAC地址过滤、收集用户信息,可以使用集线器代替交换机。【单模光纤】半径小、激光二极管LD、只能传输1种信号、可靠性高,适合“长距离”传输。
2024-04-06 09:30:10 37
转载 系统架构核心概念梳理
流程图:面向过程,描述系统中某个业务模块的程序逻辑结构,各处理过程之间有严格的顺序和时间关系,某个时间点只能处于一个处理过程,只能描述顺序执行的过程,不能描述有关的数据。状态图:描述对象在生命周期内响应事件所经历的一系列状态以及状态间的转移,着重表现对象的状态变化,强调对象基于事件反应的动态行为,适合用于反应式系统建模,能够表示对象状态和事件之间的关系。协作图:描述整个系统的对象之间的协作关系,强调接收和发送消息的对象的结构组织,通常表示较高层次的概览性视图,更关注参与交互的对象之间的结构组织和协作关系。
2024-04-06 09:28:22 34
转载 详解Redis集群的三种实现方案
Redis集群是由多个redis实例组成的集合,将缓存的数据分散到多个redis节点上存储,减轻单个缓存节点的访问压力,达到分流效果,提高了存储容量和吞吐量,提供高可用性和容错恢复能力,实现了水平扩容。1.主从(Master-Slave)模式适用于数据备份、读写分离、对可用性要求不高,小规模数据处理的场景。不提供容错和恢复功能,主节点故障时需要手动切换。2.哨兵(Sentinel)模式在主从复制的基础上,提供了故障自动处理的能力,适用于数据备份、容灾恢复、高可用性的场景。
2024-04-05 08:21:48 40
转载 一文详解最常见的六种跨域解决方案
跨域就是当在页面上发送ajax请求时,由于浏览器同源策略的限制,要求当前页面和服务端必须同源,也就是协议、域名和端口号必须一致。如果协议、域名和端口号中有其中一个不一致,则浏览器视为跨域,进行拦截。jsonp的原理是利用了script标签不受浏览器同源策略的限制,img和link标签也是不受浏览器同源策略限制的。跨域是浏览器限制,服务端和服务端之间通信是不受浏览器同源策略限制的。所有跨域的解决方案都是需要服务端配合的。最常用的跨域解决方案是CORS、Node代理服务器和Nginx反向代理方式。
2024-04-04 08:21:11 24
转载 SysML 第一讲:SysML简介
我们为什么需要MBSE?因为基于文本方法(Text - base approch,Traditional System Engineering)对于系统工程师来说是昂贵的,因此我们需要MBSE。MBSE的产物是集成性、联通性和一致性的系统模型。所有的图表和自动生成的文本产区都仅仅是系统模型的一种视图。MBSE的三大支柱:建模语言、建模方法和建模工具。当新设计决策和利益攸关者的需求等改变进入系统生命周期中。首先,SysML是一种语言。用于将Idea 通过沟通从一个地方传递另一个地方。
2024-04-04 07:59:22 145
转载 [架构之路-204]- 常见的需求分析技术:结构化分析与面向对象分析
需求获取=>业务需求=》用户需求:目的是获取客户的真实需求,而不是分析客户的需求,因此,需求获取不会对客户的需求进行主观或客观的评判,收集原始的需求是主要的目标!!!因此,以用户故事、业务场景、用例图等输出为主!!!需求获取是完全站在客户的角度,定义用户的需求!!!把目标系统完成看成一个黑盒子,站在黑盒外部,对信息系统提出需求。需求分析=》功能需求、非功能需求:就是把客户的需求变成软件产品的需求!!!!得到软件或产品的需求规格说明书!!!是站在产品经理和系统工程师的角度,对软件系统提出的需求!!!
2024-03-31 10:56:53 46
转载 双机热备架构 双机热备优缺点
双机热备:双机热备双机管理软件可以根据心跳自动检测环境运行情况,如果发现一个节点挂掉了,会自动切换到另外一个节点上运行,前台用户根本看不出。缺点是如果在切换过程中两个节点都挂掉数据很容易丢失掉。。
2024-03-31 09:29:24 84
转载 Keepalived + Nginx 实现高可用
nginx作为一款企业级的代理服务器,在各种企业事业单位中,均有广泛的使用,尤其是在前后端分离的项目中,nginx作为路由转发的功能是非常常用的。在一些流量比较大的项目中,为了应对高并发的场景,后端服务往往采用集群部署,这时候,就需要使用到nginx的负载均衡功能,从而避免应用节点的单节点故障问题。那么针对nginx的单节点故障问题,我们在实际生产中又应当如何避免呢?
2024-03-31 09:14:53 65
vuepress 前后端在一起部署时,需要把前端生成文件放到 springboot识别的目录中
2023-10-05
spring-boot-route-master.zip
2021-08-25
技术案例课职场生涯回顾介绍.zip
2021-01-10
springcloud-demo.zip
2020-12-07
vue2+springbootPRE.zip
2020-11-05
token_demo.zip
2020-10-06
vue 源码分析1.zip
2020-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人