软件开发常用名词科普
- 未分类
- 20小时前
- 7热度
- 0评论
通用类
- OLPT(On-Line Transaction Processing(联机事务处理过程)):普通关系型数据库搭建的系统,主要做日常的事务CRUD处理,例如转账
- OLAP(On-Line Analytic Processing(联机分析处理过程)):复杂分析操作,提供简单的查询结果, 例如抽取历史订单分析后找到用户最喜欢的商品
- OT和IT:简单来说OT是工业技术、IT是信息技术
单点登录类
名词介绍
- SP:Service Provider,具体的业务系统,如OA系统
- SLO:Single Logout,用户通过单一操作注销身份服务系统(IDaaS平台)会话功能。
- IDP:Identity Provider,统一身份服务的软件系统(也称IDaaS平台)
- UD:User Directory,用户目录相关,一般是组织机构、账户、组
- Connector:IDP提供的用于SP和IDS交互数据的统一连接器
主流单点登录方案
- JWT:json web token, 安全可靠简洁,主流
- CAS
- Auth2.0
- SAML:xml方式,不够简洁
单点登录方式
- IDP发起:一般政企都有自己门户,希望登录门户后再通过门户跳转到想去的SP应用,流程如下
- 用户登录IDP登录页面(门户系统),输入账号密码登录
- 登录成功,IDP返回应用列表
- 点击应用列表中SP应用图标,系统会携带应用id发请求,IDP返回子token
- 带子token跳转登录到SP,SP解析成功后登录成功。
- SP发起:一般政企有自己的应用,希望跳转到这个应用某个页面后,再跳转回IDP,登录成功后再回到SP跳转前的页面
- 访问SP某个资源,SP应用发现未登录,携带该资源URL并重定向到IDP登录页面
- 输入账号密码登录IDP,IDP认证通过后,携带子token重定向到SP的SSO登录页面
- 浏览器再携带子token和之前访问的url重定向到SP
- SP校验通过,向浏览器返回之前访问的url
- 接口后置:严格来说不算SSO,一般政企有自己应用,希望应用登录后能把帐号密码传给IDP做个对比,成功后再打开这个应用页面,这个更多的是算一个统一密码过程
- 用户访问SP登录页面并输入账号密码请求登录
- SP收到请求后,再携带账号密码去IDP认证,这一步是再后台操作
- IDP认证成功后返回Token、用户信息、应用列表等
- SP收到IDP成功报文后给用户登录
数据类
参考链接
https://xie.infoq.cn/article/720113a0535aa46ff21ee5cc4
- ETL:Extract(抽取)、Transform(转换)、Load(加载)
- 宽表:业务主题相关的指标、维度、属性关联在一起的一张数据库表,把不同的内容都放在同一张表存储。
- 数据仓库(Data Warehouse):用于存储、分析、报告的数据系统,构建面向分析的集成化数据环境,数据汇聚在一起、数据经过有效组织
- ODS层(Operational Data Store 数据运营层):直接从源表拉过来的数据,数据引入,临时存储
- 库名:
imp_ods_{源系统库}_{源表名} - 表名:
ods_{源系统库}_{源表名}
- 库名:
- DW层(Data Warehouse):数据仓库层,即主体,从ODS层获得的数据按照主题在这建立各种数据模型
- DWD(Detail):数据明细层,清洗转换,保证数据质量
- DWM(Middle):数据中间层,维度关联,形成宽表,保留一定时间内数据
- DWS(Service):数据服务层,轻度汇总,按主题划分,按日统计宽表
- DM层 (Data Market):数据集市层,按主题划分,年、月、周累计统计宽表
- DIM层(dimension):公共维度层,主要存放公共的信息数据,如国家代码和国家名,地理位置等信息就存在DIM层表中,对外开放,用于DWD,DWS和APP层的数据维度关联。
- RPT报表应用层:裁剪拼接,输出报表
- ODS层(Operational Data Store 数据运营层):直接从源表拉过来的数据,数据引入,临时存储
- 数据湖:数据汇聚在一起
- 数据中台:数据汇聚在一起、经过有效组织、提供通用数据服务
性能类
- RT(响应时间):系统对请求做出响应的时间
- TPS(吞吐量):每秒事务数,标识客户端发请求大服务端最终响应的过程,这是一个TPS
- QPS(每秒查询率):每秒钟请求量,一个TPS可能包含多个QPS
高可靠类
- HA(高可用):高可用性集群
其他
服务:将共同的业务逻辑拆分,拆分为一个独立的项目进行部署
RPC:远程调用技术,一般实现有HttpClient、SpringCloud、Dubbo、GRPC、WebService等,核心底层都是socket或netty。以下简单介绍下其中的
- WebService:比较老了,一般只有银行用,底层是SOAP(Http协议+XML)
SOA:Service-Oriented Architecture,面向服务架构,也是基于分布式架构演变过来的。可以理解为面向于业务逻辑层,即面向接口开发。将共同的业务代码抽取出来,提供给其他接口调用,服务和服务之间通信就是RPC通信。
# 举个简单例子,会员项目包括前台和后台,前台给用户使用,后台给管理员使用 # 前台和后台都只有controller # dao和service是一个抽出来的层,这就叫SOA架构层,上面两个controller都通过RPC调用SOA层- SOA架构特点:底层基于SOAP或ESB(消息总线)实现,底层使用Http或Https+重量级XML数据交换格式进行通信。
ESB:企业服务总线,是SOA的中心化实现,Http+XML,目的是为了解决异构系统之间的连通信。
微服务:基于SOA架构演变,是SOA的分布式实现,目的是扩展性,以JSON格式替代XML。一般的微服务框架有dubbox、SpringCloud
- 微服务架构相对于SOA优势:SOA使用XML,重量级占带宽,微服务用轻量级JSON;SOA服务管理混乱没有服务管理和治理设施;微服务架构比SOA架构粒度上更精细,更小更专,使用restful风格提供API,即HTTP+JSON,更适合敏捷开发和快速迭代产品;
- 微服务和SOA的区别:
- 基于SOA演变,去掉了ESB服务总线,用http+json(restful)进行传输
- 粒度小
- 微服务独立数据存储,互相不影响
- 开发速度快,敏捷开发 快速迭代
消息总线:配置变动马上通知注册的服务