第三方库

51 阅读3分钟

springboot集成junit 

mono是gateway使用的一种reactor响应式框架,用于异步编程 

lombok有构造者模式的逐渐@Builder 

文件操作包括hutool以及path类 

包括字节流和字符串,每一种流又包括节点流和处理流 

http库包含restTemplate,okhttp3,以及httpclient 

excel操作包括easyDB 

ftp操作包括jsch 

摘要算法用于密码保存,不可能所以服务端也不知道原密码 

数字签名是数字证书的应用之一,签名是将明文进行摘要,再进行私钥加密以防止数据被篡改 

对称加密速度比非对称快 

base64编码的作用是将字节流编码为ASCII字符串方便网络传输 

后端服务自启动可以在system路径写service脚本 

jwt和session是实现免登陆的两种方案,jwt的优势在于服务端无状态,以及不依赖cookie通过localStorage存储移动端友好,缺点是无法对发出去的token自由变更权限,现在常用的方案为jwt替代cookie生成不可篡改的token,redis替代session实现分布式状态存储 

常用的授权模型为RBAC基于角色的权限访问控制 

多后端单点登录使用redis或IP哈希实现 

各服务域名不同时,单点登录需要一个认证中心服务,客户端请求认证并校验通过后返回带有效期的ticket,客户端再通过ticket向认证中心请求用户信息 

oAuth2是SSO的统一解决方案 

jenkins新建任务有freestyle和pipeline两种类型,pipeline通过git中的jenkinsfile定义流水线 

git cherry pick可以重复某次提交 

ssh实现免登陆推送时,在本地生成公钥后复制到github上 

svn通过checkout检入文件 

逆向工程用于自动生成前后端代码 

jackson通过TypeReference解决泛型擦除问题 

yaml文件可以java对象互转 

logback-spring.xml可以设置日志级别,日志格式化,日志的滚动策略 

maven仓库包括本地,私服以及中央仓库 

pom对象中properties标签对变量进行管理 

打包时通过resource标签配置需要打包的resource路径下的文件 

打包时,package到target,install到本地仓库,deploy到私服 

SOA定义为将程序不同功能通过中立协议链接,分类为rest以及SOAP即webService 

knife4j继承了spring的swagger 

参数校验规则遵循JSR303规范,包括非空,分组以及自定义校验 

ng的作用是负载均衡以及静态资源代理,nginx.conf配置文件包含了http块,upstream定义了负载均衡,location定义url匹配规则 

keepalive是的高可用方案,在keepalive脚本里检查ng状态并重启 

接口幂等可以通过update乐观锁以及防重token实现 

本地调度通过cron表达式实现,springTask支持cron表达式,并且通过建表shedlock支持数据库分布式锁 

xxl-job可以实现分布式调度,调度中心路由策略一般是第一个,也有分片广播执行策略 

当然也可以通过MQ的延时队列或者redis的发布订阅机制实现延时调度 

canel是一个mysql实时数据同步的ETL库 

jfrog是一个统一存放jar包或镜像的制品库 

easyRules是一个规则引擎 

jmx工具包括jconsole,jvisualvm以及arthas,jcstress以及jmeter是压测工具 

吞吐量包括qps,tps以及hps 

常见的流程引擎包括camunda,activity以及flowable。camunda包含一个bpmn流程设计器以及一个platform服务端。设计器设计任务节点如服务任务和用户任务,服务端包括运行时服务和任务服务,服务端通常嵌入java程序。