0

读构建可扩展分布式系统:方法与实践08微服务

1. 微服务 1.1. 微服务的起源可以追溯到2008年左右 1.1.1. 在Amazon,​“两个比萨原则”成为一个单系统组件团队规模的管理原则,后来被称为微服务 1.1.1.1. 每个内部团队都应该小到可以用两个比萨饼喂饱 1.1.2. Amazon和Netflix是微服务架构的先驱,他们在20 ...

躺柒 发布于 2024-09-19 06:50 评论(0) 阅读(10)
0

读构建可扩展分布式系统:方法与实践07无服务器处理系统

1. 无服务器的魅力 1.1. 对于某些应用程序,负载在工作时间可能很高,而在非工作时间可能很低或者不存在 1.2. 其他应用程序后台流量可能在99%的时间里都很低 1.2.1. 一旦到了一些大型节目的门票发布时间,负载需求可能会在数小时内飙升至平均水平的10000倍,然后回落至正常水平 1.3.  ...

躺柒 发布于 2024-09-18 06:46 评论(0) 阅读(9)
0

读构建可扩展分布式系统:方法与实践06异步消息传递

1. 异步消息传递 1.1. 通信是分布式系统的基础,也是架构师需要纳入其系统设计的主要问题 1.2. 客户端发送请求并等待服务器响应 1.2.1. 这就是大多数分布式通信的设计方式,因为客户端需要得到即时响应后才能继续 1.2.2. 并非所有系统都有这个要求 1.3. 使用异步通信的方式,客户端( ...

躺柒 发布于 2024-09-17 07:22 评论(0) 阅读(12)
0

读构建可扩展分布式系统:方法与实践05分布式缓存

1. 分布式缓存 1.1. 缓存存在于应用程序的许多地方 1.1.1. 行应用程序的CPU具有高速多级硬件缓存,可以减少相对较慢的主内存访问 1.1.2. 数据库引擎可以利用主内存来缓存数据存储的内容,这样在许多情况下查询就可以不用访问速度相对较慢的磁盘 1.2. 分布式缓存是可扩展系统的重要组成部 ...

躺柒 发布于 2024-09-16 07:54 评论(0) 阅读(11)
0

读构建可扩展分布式系统:方法与实践04应用服务

1. 应用服务 1.1. 任何系统的核心都在于实现应用需求的特定业务逻辑 1.2. 服务是可扩展软件系统的核心 1.2.1. 它们将契约定义为一个API,向客户端声明它们的能力 1.3. 应用服务器高度依赖于编程语言,但通常都会提供多线程编程模型,允许服务同时处理许多请求 1.4. 多服务配置意味着 ...

躺柒 发布于 2024-09-15 07:29 评论(0) 阅读(10)
2

吊打面试官!业务架构的关键概念

商业模式 商业模式是帮助企业成功的“秘诀”,它通过整合企业内外部的多种要素,构建起一个全面、高效且具有独特竞争优势的运营体系。这一体系的目的是满足市场的需求,实现各利益相关者价值最大化,并确保企业的长期盈利能力。 商业模式的核心架构由三个紧密相连的环节构成:创造价值、传递价值和获取价值。 创造价值: ...

架构师汤师爷 发布于 2024-09-14 10:34 评论(0) 阅读(406)
0

读构建可扩展分布式系统:方法与实践03分布式系统要点

1. 通信基础 1.1. 每个分布式系统都包含通过网络进行通信的软件组件 1.2. 硬件 1.2.1. 全球互联网就是一台异构机器,由不同类型的网络通信通道和设备组成,它们每秒将数百万条消息通过网络传送到预定目的地 1.2.2. 对于单个光纤链路,可以提供每秒超过70 Tbps的总带宽 1.2.3. ...

躺柒 发布于 2024-09-14 08:26 评论(0) 阅读(17)
4

吊打面试官!从多维度理解架构

大家好,我是汤师爷~ 在工作当中,我们经常会听到以下说法: 产品负责人说,现在的业务架构太复杂,需要仔细梳理下。 技术领导说,这个项目很复杂,需要做下系统架构方案评审。 研发经理说,这次秒杀活动访问量非常大,需要用到高并发架构方案。 一线研发说,互联网大厂都会用到微服务架构,我要学学微服务架构设计。 ...

架构师汤师爷 发布于 2024-09-13 17:18 评论(0) 阅读(343)
0

读构建可扩展分布式系统:方法与实践02分布式系统架构简介

1. 系统架构基础 1.1. 几乎所有大规模系统都是从小规模开始,在成功路上逐渐发展壮大 1.2. 通信使用标准的应用层网络协议,通常是HTTP 1.3. Java EE和Java的Spring框架 1.4. Python的Flask 1.5. 随着应用程序的特性变得更加丰富,单体应用程序的复杂性往 ...

躺柒 发布于 2024-09-13 06:58 评论(0) 阅读(26)
2

设计模式之状态模式(三分钟学会一个设计模式)

状态模式(State Pattern)的定义是这样的:类的行为是基于它的状态改变的。注意这里的状态不是狭义的指对象维护了一个“状态”字段,我们传入了不同的枚举值,对象整体的表现行为(对外方法)就改变了。而是指内部的(任意)字段如果发生了变化,那么它的状态就变了,那么它对外的表现形式就变了。状态模式是 ...

王若伊_恩赐解脱 发布于 2024-09-12 10:23 评论(0) 阅读(374)
0

读构建可扩展分布式系统:方法与实践01可扩展系统简介

1. 简介 1.1. 在过去20年里,软件系统的规模、复杂性和容量都出现了前所未有的增长 1.2. 代码是容器、数据库、消息传递系统和其他组件的一部分,通过调用API和构建指令,构成你的应用程序 1.3. 可扩展(scalable)是软件工程中用来描述软件系统能够适应增长的术语 1.3.1. 可扩展 ...

躺柒 发布于 2024-09-12 06:23 评论(0) 阅读(24)
11

一文看懂什么是架构

对程序员来说,架构是一个常见词汇。如果想成为一名架构师,对架构概念的理解必须清晰。否则,在制定架构方案时,肯定会漏洞百出,问题频发,这将对你的面试、晋升和团队领导产生负面影响。 我们看下维基百科关于架构的定义: 软件架构是抽象描述系统的一组结构,以及构建这些结构的规则。这些结构包括:软件要素、要素之 ...

架构师汤师爷 发布于 2024-09-11 21:26 评论(0) 阅读(2067)
0

PLC结构化文本(ST)——结构体属性外部调用(Issue)

PLC Structured Text Object Oriented Programming PLC结构化文本(ST)——结构体属性外部调用(Issue) 问题 很久之前在做OOP编程时,遇到过这样一个问题,创建一个属性类型是结构体,而我在外部访问结构体内部成员时编译器(TwinCAT3)直接报错 ...

J_Sheng 发布于 2024-09-11 09:50 评论(0) 阅读(18)
0

读软件设计的要素07读后总结与感想兼导读

1. 基本信息 软件设计的要素 丹尼尔·杰克逊著 浙江教育出版社,2024年5月出版 1.1. 读薄率 书籍总字数236千字,笔记总字数18853字。 读薄率18853÷236000≈8% 1.2. 读厚方向 构建可扩展分布式系统方法与实践 设计模式:可复用面向对象软件的基础 程序员修炼之道:通向务 ...

躺柒 发布于 2024-09-11 06:48 评论(0) 阅读(11)
0

读软件设计的要素06概念完整性

1. 概念完整性 1.1. 当概念组合成一个软件时,它们可以同步以便协调行为 1.1.1. 同步可能会消除一个概念的某些行为,但决不会添加与该概念的规范不一致的新行为 1.1.2. 在使用概念设计软件时,即使你没有精确定义同步,至少要说服自己,概念之间的每次交互至少在原则上都可以被视为同步 1.2. ...

躺柒 发布于 2024-09-10 06:45 评论(0) 阅读(13)
0

读软件设计的要素05概念的特性

1. 概念的特性 1.1. 专一性原则(specificity principle)认为概念与目的应该一一对应 1.1.1. 专一性原则已被证明是概念设计中最有用的原则之一 1.1.2. 一个概念最多只能满足一个目的 1.2. 很少有没有目的的概念 1.2.1. 如果本应隐藏的用户机制被暴露,可能会 ...

躺柒 发布于 2024-09-09 06:49 评论(0) 阅读(11)
0

读软件设计的要素04概念的关系

1. 概念的关系 1.1. 概念是独立的,彼此间无须相互依赖 1.1.1. 一个概念是应该独立地被理解、设计和实现的 1.1.2. 独立性是概念的简单性和可重用性的关键 1.2. 软件存在依赖性 1.2.1. 不是说一个概念需要依赖另一个概念才能正确运行 1.2.2. 只有当一个概念存在时,包含另一 ...

躺柒 发布于 2024-09-08 07:48 评论(0) 阅读(11)
0

设计模式之模板方法模式(三分钟学会一个设计模式)

模板方法模式(Template Method Pattern)也称之为模板模式(Template Pattern),是设计模式中最简单的模式之一。 先来看定义:定义一个操作中算法的骨架(模板),将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重新定义算法某些特定的步骤。这个定义还是有 ...

王若伊_恩赐解脱 发布于 2024-09-07 15:44 评论(0) 阅读(194)
0

读软件设计的要素03概念的组合

1. 概念的组合 1.1. 概念不像程序那样,可以用较大的包含较小的 1.1.1. 每个概念对用户来说都是平等的,软件或系统就是一组串联运行的概念组合 1.2. 概念是通过操作来同步组合的 1.2.1. 同步并不增加新的概念操作,但会限制已有的操作,从而消除一些独立概念可能会出现的操作序列 1.3. ...

躺柒 发布于 2024-09-07 07:45 评论(0) 阅读(8)
2

JDBC,SQL注入,事务,C3P0与Druid连接池(最详细解析)

JDBC JDBC(Java DataBase Connectivty,Java数据库连接)API,是一种用于执行Sql语句的Java API,可以为关系型数据库提供统一的访问,其由一组Java编写的类和接口组成. JDBC驱动程序 起初,SUN公司推出JDBC API希望能适用于所有数据库,但实际 ...

ihav2carryon 发布于 2024-09-07 03:43 评论(0) 阅读(191)