摘要: 1、Seata简介 Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务 http://seata.io/zh-cn/ 分布式事务处理过程 唯一ID+三大组件模型 Transaction ID XID:全局唯一ID Transaction Coordin 阅读全文
posted @ 2022-11-06 22:42 youmo~ 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 1、Sentinel 官网:https://github.com/alibaba/Sentinel 中文文档:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D 下载地址:https://github.com/alibaba/Sen 阅读全文
posted @ 2022-11-06 22:42 youmo~ 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 1、Spring Cloud Alibaba 简介 官网 https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md https://spring.io/projects/spring-cloud-alibaba# 阅读全文
posted @ 2022-11-06 22:42 youmo~ 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1、Spring Cloud Sleuth 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败 Spring Cloud Sleuth 阅读全文
posted @ 2022-11-06 22:42 youmo~ 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1、Spring Cloud Stream 屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型 Spring Cloud Steam 是一个构件消息驱动微服务的框架 应用程序通过inputs或者outputs来与Spring Cloud Stream中的binder对象交互 通过我们配置类b 阅读全文
posted @ 2022-11-06 22:42 youmo~ 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 1、Bus Spring Cloud Bus 配合 Spring Cloud Config 使用可以实现配置的动态刷新 Spring Cloud Bus 是来将分布式系统中的节点与轻量级消息系统链接起来的框架,它整合了Java的时间处理机制和消息中间件的功能 Spring Cloud Bus 目前支 阅读全文
posted @ 2022-11-06 22:41 youmo~ 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 1、Config 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个子服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式、动态的配置管理设施是必不可少的 Spring Cloud Config为微服务架构中的微服务提供集中化的外部配置支持, 阅读全文
posted @ 2022-11-06 22:41 youmo~ 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1、Getway SpringCloud Gateway 是 Spring Cloud 的一个全新项目,基于 Spring 5.0+Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。 SpringC 阅读全文
posted @ 2022-11-06 22:41 youmo~ 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1、Hystrix(断路器) 服务雪崩 多个微服务之间调用的时候,假设服务A调用服务B和服务C,服务B和服务C又调用其他的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应” 对于高流量 阅读全文
posted @ 2022-11-06 22:41 youmo~ 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1、Rabbion(负载均衡) Spring Cloud Ribbon是基于Netfix Ribbon实现的一套客户端负载均衡工具 Ribbon是Nefix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等,就是在配置文件 阅读全文
posted @ 2022-11-06 22:40 youmo~ 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1、父类编写pom依赖控制版本 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema- 阅读全文
posted @ 2022-11-06 22:40 youmo~ 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 1、二分查找非递归 /** *二分查找非递归实现 * @param arr 待查找的数组 * @param target 需要查找的数 * @return 返回对应的下标 -1表示没有找到 */ public static int binarySearch(int[] arr,int target) 阅读全文
posted @ 2022-11-06 22:40 youmo~ 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 1、ElasticSearch概述 官网:https://www.elastic.co/cn/ ElaticSearch,简称es,es是一个开源的高扩展的分布式全文本搜索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用java开发并使用L 阅读全文
posted @ 2022-11-06 22:39 youmo~ 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 1、JWT简介 JWT(JSON Web Token),通过JSON形式作为Web应用中的令牌,用于在各方之间安全的将信息作为JSON对象传输。在数据传输过程中还可以完成数据加密、签名等相关处理 授权:这是使用JWT的最常见的方案,一旦用户登录,每个后序的请求将包含JWT,从而允许用户访问该令牌允许 阅读全文
posted @ 2022-11-06 22:39 youmo~ 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 1、Git常用命令 |命令|作用| |-|-| |git config --global user.name 用户名|设置用户签名| |git config --global user.email 邮箱|设置用户签名| |git init|初始化本地库| |git status|查看本地库状态| | 阅读全文
posted @ 2022-11-06 22:39 youmo~ 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 图 线性表局限于一个直接前驱和直接后去的关系 树叶只能有一个直接前驱也就是父节点 当我们需要表示多对多的关系时,这里我们就用到了图 图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。结点也可以称为顶点 图的常用概念 顶点(vertex) 边(edge) 路径 无向图 有 阅读全文
posted @ 2022-11-06 22:38 youmo~ 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 赫夫曼编码也翻译为哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,属于一种程序算法 赫夫曼编码是赫夫曼树在电讯通信中的经典应用之一 赫夫曼编码广泛的用于数据文件压缩。其压缩率通常在 20% - 90% 之间 赫夫曼码是可变字长编码(VLC)的一种。Huffman于1952 阅读全文
posted @ 2022-11-06 22:38 youmo~ 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 1、基本介绍 数组存储方式分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可以使用二分查找提高检索速度 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动值,效率较低 链式存储方式分析 优点:在一定程度上对数组存储方式有优化(如:插入一个数值节点,只需要将插入节点,链接到链表中 阅读全文
posted @ 2022-11-06 22:38 youmo~ 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 1、基本介绍 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做删列表。 2、哈希表实例 有一个公司,当新的员工来报道时,要求 阅读全文
posted @ 2022-11-06 22:37 youmo~ 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 1、线性查找 package search; public class SeqSearch { public static void main(String[] args) { int arr[] = {1,9,11,-1,34,89}; int index = seqSearch(arr,11); 阅读全文
posted @ 2022-11-06 22:37 youmo~ 阅读(176) 评论(0) 推荐(0) 编辑