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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一文看懂什么是架构

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

【ROS教程】话题通信

博主头像 @目录1.流程2.自定义发布数据2.1 std_msgs内置类型2.2 编写.msg文件2.3 修改package.xml文件2.3.1 完整的package.xml文件2.4 修改CMakeLists.txt文件2.4.1 修改find_package指令2.4.2 添加add_message_f ...

【ROS教程】编写launch文件

博主头像 @目录1.launch文件有哪些标签2.node标签2.1 必选属性2.2 可选属性2.3 可选子级标签3.include标签3.1 必选属性3.2 可选属性3.3 可选子级标签4.remap标签4.1 必选属性5.param标签5.1 必选属性5.2 可选属性6.rosparam标签6.1 必选属 ...

【ROS教程】服务通信

博主头像 @目录1.流程2.自定义请求和响应的数据2.1 std_msgs内置类型2.2 编写.srv文件2.3 修改package.xml文件2.4 修改CMakeLists.txt文件2.4.1 修改find_package指令2.4.2 添加add_message_files指令2.4.3 添加gene ...

架构实战

博主头像 所谓架构,意即系统架构,广义上它涵盖业务架构、运维架构、组织架构等所有系统构建场景,本文特指一般开发人员主要关注的开发架构。 关于架构的理论有很多,每个人也都有各自的理解,笔者相信很多人在实际运用中也会遇到各种各样的问题和困惑,本文抛开教条,从一个实际项目的演化看何为架构。 项目背景 开始之前,先了 ...

【ROS教程】ROS文件系统和基础架构

博主头像 @目录1.工作空间目录1.1 package.xml2.启动节点的方式2.1 一次启动一个2.2 一次启动多个3.ROS常用命令3.1 增3.2 查3.3 执行3.3.1 加载环境变量3.3.2 运行节点3.4 查看计算图4.创建功能包4.1 选择工作目录4.2 创建功能包目录4.3 建立功能包 1 ...

【ROS教程】ROS常用命令

博主头像 @目录1.rosnode1.1 rosnode ping1.1.1 测试所有节点的连接状态1.1.2 测试到某个节点的连接状态1.2 rosnode list1.3 rosnode info1.4 rosnode machine1.4.1 列出所有设备1.4.2 查看指定设备上的运行节点1.5 ro ...

【ROS教程】ROS常用API讲解

博主头像 @目录1.节点初始化2.话题通信2.1 创建发布者对象2.2 消息发布2.3 创建订阅者对象3.服务通信3.1 创建服务对象3.2 创建客户对象3.3 客户发送请求3.4 客户对象等待服务4. 回旋函数4.1 spin4.2 spinOnce5.时间5.1 时刻5.1.1 获取当前时刻5.1.2 设 ...

123···9>