概念汇总看这一篇就够了

1、消息队列kafka vs rabbitmq

没有最好的队列,只有最合适的队列

Kafka:

1.从A系统到B系统的消息没有复杂的传递规则,并且具有较高的吞吐量要求。

2.需要访问消息的历史记录的场景,因为kafak是持久化消息的,所以可以通过偏移量访问到那些已经被消费的消息(前提是磁盘空间足够,kafka没有将日志文件删除)

3.流处理的场景。处理源源不断的流式消息,比较典型的是日志的例子,将系统中源源不断生成的日志发送到kafka中。

rabbit:

1.需要对消息进行更加细粒度的控制,包括一些可靠性方面的特性,比如死信队列。

2.需要多种消费模式(点对点,广播,订阅发布等)

3.消息需要通过复杂的路由到消费者。

可靠性,速度方面比较就知道区别了,kafka适合数据量大的场景,rabbitmq适合可靠,对速度要求不高的场景

2、PV、QPS、TPS

PV(Page View):页面访问量,每次用户访问或者刷新页面都会被计算在内。
QPS(Query Per Second):每秒查询数,每秒系统能够处理的查询请求次数。
TPS(Transactions Per Second):每秒事务数,每秒系统能够处理的事务次数。
TPS与QPS是有区别的事务表示客户端发起请求到收到服务端最终响应的整个过程,这是一个TPS而在这个TPS中,为了处理第一次请求可能会引发后续多次对服务端的访问才能完成这次工作,每次访问都算一个QPS。

所以,一个TPS可能包含多个QPS
计算日PV=QPS*60*60*24   //即QPS乘以一天的秒数峰值
QPS=(日PV*80%)/(60*60*24*20%)//通用公式每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间

3、日志采集工具Logstash、Filebeat、Fluentd、Logagent、logtail、rsyslog、syslog-ng

  • 作为 Beats 家族的一员,Filebeat 是一个轻量级的日志传输工具,它的存在正弥补了 Logstash 的缺点:Filebeat 作为一个轻量级的日志传输工具可以将日志推送到中心 Logstash。
  • Fluentd 在日志的数据源和目标存储各种各样时非常合适,因为它有很多插件。
  • Flume的配置是真繁琐,source,channel,sink的关系在配置文件里面交织在一起,没有Logstash那么简单明了。

4、什么是蓝绿部署、滚动发布和灰度发布?

金丝雀发布(Canary)也是一种发布策略,和国内常说的灰度发布是同一类策略

蓝绿部署是准备两套系统,在两套系统之间进行切换,金丝雀策略是只有一套系统,逐渐替换这套系统。
蓝绿部署和金丝雀是发布策略,目标是确保新上线的系统稳定,关注的是新系统的BUG、隐患
灰度能控制流量,滚动部署不能

A/B测试和蓝绿部署以及金丝雀,完全是两回事
灰度过程中出现A/B测试
A/B测试是效果测试,同一时间有多个版本的服务对外服务,这些服务都是经过足够测试,达到了上线标准的服务
A/B测试关注的是不同版本的服务的实际效果,譬如说转化率、订单情况等

5、kubeEdge

kubeEdge

6、BSS

  • BSS:Business support system 业务支撑系统
    BSS系统包括客户关系管bai理、数据采集系统、计费du帐务、综合结算、营销支撑这些功能模块。
  • OSS:Operation support system 运营支撑系统
    对BSS提供技术(特别是计算机技术)支撑和管理的。主要由网络管理、系统管理、计费、营业、账务和客户服务等部分组成,系统间通过统一的信息总线有机整合在一起。
  • MSS:Management Support System 管理支撑系统
    完善社会渠道酬金管理功能;优化营业厅应用界面;实现营业厅现场排队情况监控;实现营业厅电子签名。

7、

IAM(Identity and Access Management 的缩写),即身份识别与访问管理
NPM是随同NodeJS一起安装的包管理工具
fastethernet x/y 是进入快速以太网x模块/y接口

8、PM、PL、PG、SA、SD、SE

最顶层是项目负责人,接下来项目会落实到PM(项目经理PM),项目经理将任务分成若干个子项目,每个项目由一个**PL(项目组长)负责。在每个子项目中,由SE(系统工程师)带领PG(程序员)**共同完成。同时在测试阶段由PT(测试工程师)进行测试。

  • [SA System Analysis,系统分析师]

SA是 System Analysis 的缩写, 一般称为系统分析, 主要的工作就是透过一系列的分析工作, 把客户想要的结果产生方式, 以各种文件表达出来, 让开发团队可以根据这些文件实作出这个结果。这样的解释比较文绉绉一点, 用个通俗一点的方式比喻, 就像是要做出一道宫保鸡丁时, 就会有食谱一样, 里面会介绍需要的材料及做菜的顺序, 然后里面也会强调要以怎样手法才能产生出某种效果, 以促进色香味。

1.藉由系统需求书, 使用者的现有标准作业流程来建立出符合期望的新作业流程及搭配流程的系统功能及模块规划

2.依据功能及模块规划案, 定出初步的数据库内容及系统与使用者间的权限搭配规范

3.定出各个软件零件的规范, 如对象, 函数库, ...等等

4.设计新的标准作业流程, 并把系统功能或模块绑入这些流程中

5.SA依据客户的环境及需求, 寻找合适的SD来搭配
  • [SD Systems Designer, 系统设计师]
1.设计画面元素规范

2.设计页面结构及规则

3.设计系统操作画面, 并编定字段规范及防呆处理

4.设计权限管理与系统操作机制? 撰写使用手册

5.调整DB之各项定义, 使其符合画面字段规范及操作搭配

6. 配合SA撰写系统开发文件, 供程序员CODING之用

7.撰写UI(使用者接口)测试计划书
  • [SE Systems Engineer, 系统工程师]
1. 规划及建置系统执行环境

2.安装及设定使用者端环境

3.SERVER安装及设定

4.提供环境设置竟见给SA及PM

5.最佳化系统可靠度及效度

6.撰写可靠度及效能测试计划书

7.对计算机及相关外围设备有一定熟悉度

9、scrum

Scrum 是使用最为广泛的一种Agile方法论,Methodology;如果Agile是价值观,Scrum就是方法论。

Scrum通常用三三五五归纳:

三个角色:Product Owner,Development Team,Scrum Master。Scrum Master是一个船长,机长的角色,保证开发按照Scrum的方法进行

三个产出:Product Backlog,Sprint Backlog,Work Dliverable Software

五个活动:Sprint Planing Meeting,Sprint, Daily Stand up Meeting, Sprint Review, Sprint Retrospective

五个价值观:Courage,Commitment,Focus,Respect,Openness

你可能感兴趣的:(常用)