【基础架构】——软件系统复杂度的来源(低成本、安全、规模)

目录

    • 一、软件系统复杂度的来源之低成本
    • 二、软件系统复杂度的来源之安全
      • 2.1、功能安全
      • 2.2、架构安全
      • 2.3、规模
        • 2.3.1、功能越来越多,导致系统复杂度指数级上升
        • 2.3.2、数据越来越多,系统复杂度发生质变

本文来源:极客时间vip课程笔记

一、软件系统复杂度的来源之低成本

  • 当我们设计“高性能”“高可用”的架构时,通用的手段都是增加更多服务器来满足“高性能”和“高可用”的要求;而低成本正好与此相反,我们需要减少服务器的数量才能达成低成本的目标

  • 低成本本质上是与高性能和高可用冲突的,所以低成本很多时候不会是架构设计的首要目标,而是架构设计的附加约束。也就是说,我们首先设定一个成本目标,当我们根据高性能、高可用的要求设计出方案时,评估一下方案是否能满足成本目标,如果不行,就需要重新设计架构;如果无论如何都无法设计出满足成本要求的方案,那就只能找老板调整成本目标了。

  • 低成本给架构设计带来的主要复杂度体现在,往往只有“创新”才能达到低成本目标。这里的“创新”既包括开创一个全新的技术领域(这个要求对绝大部分公司太高),也包括引入新技术,如果没有找到能够解决自己问题的新技术,那么就真的需要自己创造新技术了。

  • 类似的新技术例子很多,我来举几个。

    NoSQL(Memcache、Redis 等)的出现是为了解决关系型数据库无法应对高并发访问带来的访问压力。

    全文搜索引擎(Sphinx、Elasticsearch、Solr)的出现是为了解决关系型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/88913.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习 YOLOv5手绘电路图识别 手绘电路图自动转换为仿真软件(如LT Spice)可用的原理图,避免人工重绘

以下是对《手绘电路图识别》论文的核心解读,结合技术方案、实验数据和创新点进行结构化总结:研究目标 解决痛点:将手绘电路图自动转换为仿真软件(如LT Spice)可用的原理图,避免人工重绘。 关键挑战&#xf…

一般的非线性规划求解(非凸函数)

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 每一个裂缝都是为透出光而努力&#x…

CTFHub————Web{信息泄露[Git泄露(Stash、Index)]}

Web 信息泄露 Git泄露 Stash 首先,我们先读题,由题可知我们可以用BugScanTeam或GitHack完成该题那么我们先开题, 好吧,他问我们flag在哪里,我怎么知道fag在哪里。 先打开GitHack 使用 py GitHack.py http://challenge-…

缺乏实际里程碑管控项目进度,如何设定关键节点

要通过实际里程碑管控项目进度,核心措施包括:设定可量化的关键节点、明确交付标准与责任人、同步风险与资源计划、基于阶段目标拆解任务、建立节点验证与复盘机制。例如,设定可量化的关键节点能让团队清晰理解“何时完成了什么”并及时调整方…

XML E4X:深入解析与高效应用

XML E4X:深入解析与高效应用 引言 XML(可扩展标记语言)作为一种数据交换格式,广泛应用于互联网数据传输、配置文件、数据存储等领域。E4X 是一种扩展 XML 的编程接口,允许开发者以编程方式直接访问和处理 XML 数据。本文将深入探讨 XML E4X 的概念、特点、应用场景以及高…

uniapp---入门、基本配置了解

目录 uniapp 新建项目 uniapp全局配置 组件 1、内置组件 2、扩展 组件 uni-ui 3、第三方组件库 uview-ui 秋云-ucharts (插件市场 ) scss语法(了解) vue2语法(熟悉) uniapp 官方文档:uni-app官网 uni-app 是一个使用 Vue.js 开发所…

springboot 好处

思考1,快速启动,简化配置。自动配置,内置tomcat,无需部署war文件,快速创建独立应用2,提高开发效率,热部署3,微服务生态4,云原生,Docker K8sSpring Boot 的主要…

SSM框架学习——day1

SSM框架概述SSM框架是Java开发中常用的组合框架,由Spring、Spring MVC和MyBatis三个开源框架整合而成。主要用于构建企业级Web应用程序,具有轻量级、模块化、易扩展等特点。Spring框架作为核心,提供依赖注入(DI)和面向…

【html基本界面】

小米界面布局效果htmlcss效果 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>小米商城布局<…

【设计模式】适配器模式(包装器模式),缺省适配器模式,双向适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;详解 一、适配器模式简介 适配器模式是一种结构型设计模式&#xff0c;它将一个类的接口转换成客户端所期望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以协同工作。 简单来说&#xff0c;适配…

安全初级(一)

一.docker的搭建和VPN连接 1.输入指令&#xff1a;apt-get install docker.io docker-compose 2.设置docker代理&#xff1a;创建文件夹以及对应的文件 /etc/systemd/system/docker.service.d/http-proxy.conf 在该文件中配置自己的代理ip以及代理端口 [Service] Environme…

Java多线程:核心技术与实战指南

目录&#x1f680;前言&#x1f914;什么是多线程&#xff1f;&#x1f4bb;创建线程&#x1f4af;创建方法一&#xff1a;继承Thread类&#x1f4af;创建方法二&#xff1a;实现Runnable接口&#x1f4af;创建方法三&#xff1a;实现Callable接口&#x1f4af;三种方法对比&am…

高斯代数基本定理的一种证明

代数基本定理 对于多项式 f(z)anznan−1zn−1⋯a1za0f(z) a_n z^n a_{n-1} z^{n-1} \cdots a_1 z a_0f(z)an​znan−1​zn−1⋯a1​za0​&#xff08;其中 n>1n > 1n>1 且 an,a0≠0a_n, a_0 \neq 0an​,a0​0&#xff09;&#xff0c;它在复数域内有根。 f(z)U…

【K8S】Kubernetes 使用 Ingress-Nginx 基于 Cookie 实现会话保持的负载均衡

文章目录 1. 创建测试应用 Deployment3. 配置基于 Cookie 的 Ingress4. 部署与测试步骤(1) 应用配置(2) 获取 Ingress IP(3) 测试会话保持(4) 使用 Nginx 取消域名的限制(仅推荐测试使用)5、生产优化建议6、独立 Nginx 配置参考在现代微服务架构中,负载均衡是保证高可用的关…

2.查询操作-demo

在连接数据库的基础上步骤&#xff1a;Query-查询关闭查询db.Next()逐行输出&#xff0c;并指定到当前变量Scan-扫描rows, err : db.Query("SELECT id,server_ip FROM softswitch_server_info")package main//查询语句-demo //关键字-queryimport ("database/sq…

用OpenCV标定相机内参应用示例(C++和Python)

下面是一个完整的 使用 OpenCV 进行相机内参标定&#xff08;Camera Calibration&#xff09; 的示例&#xff0c;包括 C 和 Python 两个版本&#xff0c;基于棋盘格图案标定。一、目标&#xff1a;相机标定 通过拍摄多张带有棋盘格图案的图像&#xff0c;估计相机的内参&#…

(二)OpenCV——边缘增强与检测

边缘增强与检测是图像处理中的核心技术&#xff0c;其核心目标是突出图像中的不连续区域&#xff08;边缘&#xff09;&#xff0c;为后续的图像分析提供基础。一、基本概念边缘本质上是图像中灰度/颜色发生突变的区域&#xff0c;对应着&#xff1a;物体边界表面方向改变材质变…

018 进程控制 —— 进程等待

&#x1f984; 个人主页: 小米里的大麦-CSDN博客 &#x1f38f; 所属专栏: Linux_小米里的大麦的博客-CSDN博客 &#x1f381; GitHub主页: 小米里的大麦的 GitHub ⚙️ 操作环境: Visual Studio 2022 文章目录进程控制 —— 进程等待1. 进程等待必要性2. 常用等待方法&#xf…

PHP password_hash() 函数

password_hash() 函数用于创建密码的散列&#xff08;hash&#xff09;PHP 版本要求: PHP 5 > 5.5.0, PHP 7语法string password_hash ( string $password , int $algo [, array $options ] )password_hash() 使用足够强度的单向散列算法创建密码的散列&#xff08;hash&…

理解Linux文件系统:从物理存储到统一接口

目录 一、狭义理解&#xff08;物理层面&#xff09; 二、广义理解&#xff08;Linux系统视角&#xff09; 三、文件结构解析 四、系统实现机制 一、狭义理解&#xff08;物理层面&#xff09; 存储特性&#xff1a;文件以二进制形式存储在磁盘等永久性存储介质中 介质特点…