3.5.4. 关键词¶
数据资源
数据资产
数据要素
极客-DDD 实战课:
限界上下文(bounded context)
实体(Entity)或值对象(ValueObject)
聚合(Aggregate)和聚合根(AggregateRoot)
极客-软件测试52课:
代码走查 (code walkthrough)
探索式测试(Exploratory Testing)
即兴测试(Ad-hoc Testing)
极客-程序员的测试课:
胶水层(Glue)
“活” 文档(Living Document)
防腐层
Mock
组成原理:
Instruction Set: 计算机指令集
操作码(Opcode)
触发器(Flip-Flop)或者锁存器(Latches)
其实就是两种不同原理的数字电路组成的逻辑门
N 个触发器或者锁存器,就可以组成一个 N 位(Bit)的寄存器,能够保存 N 位的数据
协议:
packet: 数据包
优先级:
高优先级队列: High Priority Queue(HPQ)
低优先级队列: Low Priority Queue(LPQ)
Primary(major, senior, important, essential, principal)
Secondary(minor, junior, unimportant, inessential)
tertiary
先去找到这个领域模型的英文表达做成词汇表,然后再开始写代码。
ThoughtWorks 技术雷达
https://www.thoughtworks.com/zh-cn/radar
事件风暴(Event Storming)
CI 监视器
验收测试(Acceptance Testing)
Infinite Mirror Effect
精益创业(Lean Startup)
Daily Build,每日构建
内建质量(Build Quality In)
Feature toggle(功能开关)/Branch by Abstraction
技术 Spike(“技术撩”): 试探下,有戏就继续,撩不动就算或者放一段时间再说
其他翻译: 技术探针、技术刺探
沙盘推演,或沙盘模拟 -> “最后一公里”
伪代码(Pseudo Code)
Orthogonal Decomposition“正交分解”
“契约式设计(Design by Contract)”
用户态、内核态
mDNS
交叉编译: 简单说明:在 ARM环境的机器上编译出可在 X86上运行的二进制程序
转义字符(Escape Character)
锚点(Anchors)
脱字符(Caret) 即: ``^`` 符号
根因(Root Cause)
密闭性(Hermetic)
冯・诺依曼机(Von Neumann Machine)
回溯(Backtracking)
引用消解(Reference Resolution)
或者名称消解(Name Resolution)
或者标签消解(Label Resolution)
作用域(Scope)
词法作用域(Lexical Scope)
符号表(Symbol Table)
带有标注信息的 AST(Annotated Tree)
或者 Decorated Tree
或者 Attributed Tree
语法制导的翻译(Syntax Directed Translation,SDT)
助记符(Assembly Mnemonic)
活动记录(Activation Record)
栈帧(Stack Frame)
运行时系统(Runtime System)
“序幕”(prologue)
“尾声”(epilogue)
调用者(callee)责任
调用者(caller)责任
循环展开(Loop Unroll)
bootstraping自举
类型论、引用消解(编译原理)
“低代码开发”或“零代码开发”
自省(introspection)
反射(reflection)
高频、高实时
相对边缘计算优势
AI 能力与其他技术结合
Orchestration: 编排
通过一定的机制把一堆独立工作的进程给协同起来。
ESB 的服务编制叫 Choreography
Design Principle:
Fan in: 多个进,一个出
Fan out: 一个进,多个出
模块粘合层:
中间件(middleware)、Promises 模式、回调(Callback)、代理委托、依赖注入
高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构
容错设计又叫弹力设计
容错能力(服务隔离、异步调用、请求幂等性)、可伸缩性(有 / 无状态的服务)、一致性(补偿事务、重试)、应对大流量的能力(熔断、降级)
Resiliency(弹力)
隔离设计: Bulkheads
高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构
和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE
数据流承载核心业务功能。
控制流一般用来创建一些资源,供数据流使用。这些,资源一旦建成,控制流可以一直使用。所以这时候控制流挂了,资源还是存在的,数据流仍然能够正常运转,也就是不影响业务功能。
安全¶
认证(Authentication): 英文缩写 authn
授权(Authorization): 英文缩写 authz
加盐( Salt)
消息摘要( Message Digest )
渗透测试: Penetration testing
云原生¶
云原生
不可变基础设施
声明式API
服务网格
许式伟:
密闭性(Hermetic)
测试通过即发布(Push On Green)
现象(Symptom)
根因(Root Cause)
相关性(Correlation)
因果关系(Causation)
other¶
环比: month-on-month ratio
同比: on year-on-year basis
流量治理
缓存雪崩 Cache avalanche
缓存击穿 Cache breakdown
缓存穿透 Cache penetration
滥用图表(chart abuse)
数据仓库 (Data Warehouse)
数据库 (DataBase)
fine‑grained: 细粒度
coarse‑grained: 粗粒度
benefits and drawbacks: 优缺点
shortcomings: 缺点
Reactive Programming Model: 响应式编程模型
A much better approach is to write API Gateway code in a declarative style using a reactive approach.
one-size-fits-all solution: 一刀切解决方案
value proposition: 价值主张
authentication, monitoring, load balancing, caching, request shaping and management, and static response handling.
镜像治理
资源治理
源码治理
服务治理
组织认同度
熔断
隔离&降级
中台模式
微服务架构
Serverless
产品矩阵
、中台、微服务、CI/CD、Devops、SaaS
海明距离
正交
the principle of loosely coupled: 松散耦合
面向服务的架构(SOA)
演进式架构
分布式系统
分布式服务、消息中间件和分布式缓存
线性化(linearizable)
云原生架构
高内聚低耦合
领域驱动设计(DDD:Domain-Driven Design)
贫血模型
充血模型
领域服务
云计算
雾计算
数据建模
事件溯源(event sourcing):
分布式DB
Git等版本控制
技术债
代码腐化
开发惰性
可扩展性 (Extensibility, expandability)
可伸缩 (Scalability)
伸缩的是性能
系统拆分:
纵向( Vertical)拆分: 面向业务特性
横向( Horizontal)拆分: 关注于技术
关键在于识别可复用的业务
设计服务接口并规范服务依赖关系
跨职能的( Cross-Functional )
幂等性 ( Idempotency )
补偿模式( Compensation Pattern )
服务「雪崩效应」的产生是一种「扩散效应」
应对失败的基本策略:
舱壁隔离
服务熔断 (circuit-breaker)
超时/重试
异步解耦
快速失败
更为系统的方法和机制确保服务的可靠性:
服务容错( Fault Tolerance )、
服务隔离、
服务限频、RateLimiter
限流限流、
服务降级
粘滞( Sticky )机制