IT 相关术语

fansichao 2021-10-23 16:29:27
Categories: Tags:

架构类

微服务架构

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于 HTTP 的 Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构造

微服务之前采用 RestFul-Api 进行交互。

微服务的特征与界定

微服务的特征与界定

单体应用 vs 微服务架构

总的来说,微服务是服务化普及以后带来的高开发成本、协作成本,不断在降低成本、轻量级做改进。

知乎-微服务

常用技术

Redis

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

Redis 优势

相关链接

HBase

HBase是一个分布式的、面向列的开源数据库。
HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

redis

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统。

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Nginx

Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务.
Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Oracle

Oracle Database,又名 Oracle RDBMS,或简称 Oracle。是甲骨文公司的一款关系数据库管理系统。
它是在数据库领域一直处于领先地位的产品。
可以说 Oracle 数据库系统是目前世界上流行的关系数据库管理系统,
系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

mysql

MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL 是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库

WSGI

Web 服务器网关接口(WSGI)已被用作 Python Web 应用程序开发的标准。WSGI 是 Web 服务器和 Web 应用程序之间通用接口的规范。

Werkzeug

它是一个 WSGI 工具包,它实现了请求,响应对象和其他实用函数。这使得能够在其上构建 Web 框架。Flask 框架使用 Werkzeug 作为其基础之一。

Jinga2

Jinja2 是 Python 的一个流行的模板引擎。Web 模板系统将模板与特定数据源组合以呈现动态网页。

Flask 通常被称为微框架。它旨在保持应用程序的核心简单而可扩展。Flask 没有用于数据库处理的内置抽象层,也没有形成验证支持。相反,Flask 支持扩展以向应用程序添加此类功能。一些流行的 Flask 扩展将在本教程后面讨论。

Web 框架

Web 应用程序框架或简单的 Web 框架表示一组库和模块,使 Web 应用程序开发人员能够编写应用程序,而不必担心协议,线程管理等低级细节。

项目

Python

Python 基本类型:

正则表达式: 是一个特殊的字符序列,一个字符串是否与我们所设定的这样的字符序列,相匹配快速检索文本、实现替换文本的操作

**json:**(xml) 轻量级 web 数据交换格式

匿名函数: python 使用 lambda 来创建匿名函数。

**映射类 map()**:会根据提供的函数对指定序列做映射,映射的结果可以进行相应的类型转换。

**累积运算函数 reduce()**:会根据提供的运算函数对迭代类型参数中的元素进行累积运算

**过滤类 filter()**:根据提供的判断函数,对迭代类型参数进行过滤,保留使运算函数返回 true 的元素

高阶函数:一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),满足其一则为高阶函数。

Flask

Flask 是一个用 Python 编写的 Web 应用程序框架。它由 Armin Ronacher 开发,他领导一个名为 Pocco 的国际 Python 爱好者团体。Flask 基于 Werkzeug WSGI 工具包和 Jinja2 模板引擎。两者都是 Pocco 项目。

Flask 框架重要知识点总结归纳 (完整版)

基本原理:

核心知识:

from flask import Blueprint, request, json, abort, current_app, jsonify, session as web_session, g

数据库

sql 型

数据库基本知识 DDL、DQL、DML、DCL,数据库优化经验

数据库的 DDL、DML 和 DCL 的区别与理解:

nosql 型

nosql 和 sql 型区别就是

数据库优化

优化方法:

参考链接:

软件系统压力测试

基本思路是在有限的资源(包括内存、CPU、磁盘和网络带宽)情况下对软件系统执行负载测试,了解其承载性能,性能指标包括:响应时间、并发用户数、吞吐量、资源利用率。

  1. 分析应用系统
    根据系统个资源的分布与使用情况,明确可能存在的性能瓶颈,例如:数据库操作、网络访问、文件上传下载、数据加工等等
    2, 编写测试案例
    包括:测试目的、测试环境、测试数据、测试脚本、预期结果。
  2. 并发测试
    使用 ab、siege、locust、jmeter 等压力测试工具对系统执行任务请求等操作。
  3. 检测系统资源
    使用 nmon 等工具,统计测试中各资源使用情况、响应情况。例如:网络阻塞情况、CPU、内存、缓存、磁盘使用情况、数据库数据锁、日志缓冲区等。
  4. 优化调整
    根据测试结果,定位性能瓶颈,优化代码。
  5. 编写测试报告
    • 测试概要、测试环境、测试结果
    • 测试结论:给出系统能够支持的上限,如用户并行数、操作数据量等
    • 技术总结:记录系统优化方案、方法,以及暂时无法改善或改善无效的场景说明,为后续系统框架改造或技术选型的提供建议。

数据结构

参考链接: 数据结构与算法(一):数据结构

计算机相关概念

没有银弹

银弹,无论是在技术上或管理上,都不会有任何单一的重大突破,能够保证在生产力、可靠度或简洁性上获得改善,甚至,连一个数量级的改善都不会有.