最近回顾些技术概念术语

云原生 = 微服务 + DevOps + 持续交付 + 容器化
无服务架构(Faas/Serverless):应用程序使用第三方 Function 和服务,但不需要管理服务器。主要包含了两个方面:FaaS(Function as a Service,Function 即服务)、BaaS(Backend as a Service,后端即服务)

NoSQL没有联表操作;微服务里也做了服务拆分,有经验的团队也不会做联表操作

NoSQL ACP ACID 分布式 (可用 一致 分区容错)(原子 一致 隔离 持久)
hbase HDFS hadoop zookeeper bigtable
zookeeper 分布式数据管理(分布式协调系统、文件系统+监听通知机制);场景:分布式应用配置管理、统一命名服务、状态同步服务、集群管理;
行存储 列存储
elasticsearch(ES) 无事务、近实时、成本比数据库高,几乎靠吃内存提高性能、最逆天的是,mapping不能改、缺乏访问控制、数据丢失和污染的问题、写入慢,读取快
binlog 增量备份 主从同步 三种格式:STATEMENT、ROW、MIXED
异构系统
nginx + lua
docker 镜像 容器 仓库

数据分:离线、近线、在线
就近接入、CDN、全局负载均衡
DDL DML

集群:集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。任务调度则是集群系统中的核心技术。同一个业务,部署在多个服务器上(不同的服务器运行同样的代码,干同一件事)。自治性(自我保护、自我配置、自我优化、自我治疗)也将成为集群的一个重要特征。提高性能、降低成本、提高可扩展性、提高可靠性。
nginx搭建web集群,nginx+keepalived实现高可用(主从/主主)集群
Keepalived除了能够管理LVS软件外,还可以作为其他服务(Nginx,Haproxy、MySQL等)的高可用解决方案软件

分布式系统:是一组计算机,通过网络相互连接传递消息与通信后并协调它们的行为而形成的系统。组件之间彼此进行交互以实现一个共同的目标。
分布式—一般概念(我整理的)
微服务-分布式服务框架(我整理的)
微服务—分布式事务(我整理的)

服务保活
发布订阅
消息队列 mq

OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范。
OSGI 优势很多,比如,可以动态地安装、卸载、启动、停止不同的应用模块,而不需要重启容器。你的应用可以在同一时刻跑多个同一个模块的实例。

ACK (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。

Redis

字符串(二进制安全) 哈希 列表(双向链表) 集合(交集、差集、并集) 有序集合(权重); 主从、投票机制完成 Slave到 Master的角色提升;开源、持久化、(单命令)原子性、事务;分区支持得不太好
在这里插入图片描述

RPC是远程过程调用(Remote Procedure Call)
透明化路由:只需要知道当前系统发布了那些服务,而不需要知道服务具体存在于什么位置
负载均衡策略:随机、轮询、加权轮询、一致性哈希(按IP路由)?

生日问题:22个字符的哈希值,就能保证300万亿次计算里面,只有1000亿分之一的概率发生碰撞

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)
安全框架:spring security、apache shiro

----- 2020-08-26 end -----
----- 2023-01-26 start -----
限流策略:1、计数器,更小(临界)粒度时间段上的限流会失效;2、漏桶,请求先入桶,流出速度固定,桶满则拒绝新请求,不适合电商抢购、微博热点事件限流场景;3、令牌桶,以恒定速度将令牌入桶,桶满则停止令牌入桶,新请求先从桶内拿令牌,桶内空了导致请求拿不到令牌则拒绝执行请求,适合某种程度的突发传输。

T型人才,web SSH(堡垒机)

幂等方案:1、update / insert select,并发时失效;2、悲观锁,主键或唯一索引会锁行,否则锁表,性能差;3、乐观锁,版本字段;4、唯一索引;5、防重表,多字段的唯一索引,可选择性的幂等;6、状态机,比如订单状态;

运维体系工具:

  1. 云效:阿里云研发的,DevOps 开发运维一体化
  2. Yearning:满足大部分公司SQL审核需求的web端可视化SQL审核平台
  3. wgcloud:极简&高效的主机监控系统
  4. API 一体化协作平台 https://www.apifox.cn/ Apifox = Postman + Swagger + Mock + JMeter
  5. Java 应用诊断利器 Arthas

服务降级Fallback 服务熔断 开源组件Hystrix 级联故障 服务雪崩 断路器 half-open状态 链路恢复

缓存穿透:查询一个缓存中和数据库中都不存在的数据,导致每次查询这条数据都会透过缓存,直接查库,最后返回空。布隆过滤器解决
缓存击穿:热点缓存
缓存雪崩

服务熔断:Sentinel
面向分布式、多语言异构化服务架构的流量治理组件
Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。

Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。

分布式的数据库生态系统:Sharding-JDBC
Apache ShardingSphere 是一款分布式的数据库生态系统,可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强

文档接口管理:Swagger-knife4j
Knife4j是一个集Swagger2 和 OpenAPI3为一体的增强解决方案

ORM框架:Mybatis-Plus
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

设计模式对比及编程思想总结

设计模式 目的 框架源码
创建型
工厂模式
(Factory) 封装创建细节 LoggerFactory
单例模式
(Singleton) 保证独一无二 Runtime
BeanFactory
原型模式
(Prototype) 高效创建对象 ArrayList
PrototypeBean
建造者(Builder) 开放个性配置步骤 StringBuilderBeanDefinitionBuilder
结构型
代理
(Proxy) 增强职责 ProxyFactoryBeanJdkDynamicAopProxy
CglibAopProxy
门面模式(Facade) 统一访问入口 JdbcUtil
装饰器(Decorator) 灵活扩展
同宗同源 BufferedReader
InputStream
享元模式(Flyweight) 共享资源池 String、Integer
组合
(Composite) 统一整体和个体 HashMap、SqlNode
适配器
(Adapter) 兼容转换 HandlerAdapter
桥接(Bridge) 不允许使用继承 DriverManager
行为型
委派(Delegate) 只对结果负责 ClassLoaderBeandefinitionParserDelegate
模板(Template) 逻辑复用 JdbcTemplate
策略(Strategy) 选择权交于用户 ComparatorInstantiationStrategy
责任链(Chain) 解耦处理逻辑 FilterChainPipeline
迭代器
(Iterator) 统一集合访问方式 Iterater
命令
(Command) 解耦请求与处理 Runnable
状态(State) 绑定状态与行为 Lifecycle
备忘录(Memento) 备份
中介者(Mediator) 统一管理网状资源 Timer
解释器(Interpreter) 特定语法解析 Pattern
观察者(Observer) 解耦观察者与被观察者 ContextLoaderListener
访问者(Visitor) 结构数据结构
和数据操作 BeanDefinitionVisitor

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值