摘要:
集群选举问题: Nacos支持集群模式,很显然。而一旦涉及到集群,就涉及到主从,那么nacos是一种什么样的机制来实现的集群呢? Nacos的集群类似于zookeeper, 它分为leader角色和follower角色, 那么从这个角色的名字可以看出来,这个集群存在选举的机制。 因为如果自己不具备选 阅读全文
摘要:
继 Nacos服务注册原理 后,我们来看一下Nacos 是怎么实现服务的消费的。 服务注册成功之后,消费者就可以从nacos server中获取到服务提供者的地址,然后进行服务的调用。在服务消费中,有一个核心的类 NacosDiscoveryClient 来负责和nacos交互,去获得服务提供者的地 阅读全文
摘要:
Nacos 服务注册需要具备的能力: 服务提供者把自己的协议地址注册到Nacos server 服务消费者需要从Nacos Server上去查询服务提供者的地址(根据服务名称) Nacos Server需要感知到服务提供者的上下线的变化 服务消费者需要动态感知到Nacos Server端服务地址的变 阅读全文
摘要:
分片策略详解 : https://shardingsphere.apache.org/document/current/cn/features/sharding/concept/sharding/ Sharding-JDBC 中的分片策略有两个维度:分库(数据源分片)策略和分表策略。 分库策略表示数 阅读全文
摘要:
在分布式服务中,要实现数据源得选择有如下相关方案 DAO:继承 AbstractRoutingDataSource 类,实现对应的切换数据源的方法,结合自定义注解 + 切面实现动态数据源切换。 ORM:MyBatis 插件进行数据源切换 JDBC:Sharding-JDBC 基于客户端的分库分表方案 阅读全文
摘要:
有许多逻辑关系并不是简单的线性关系,在实际场景中,常常存在着一对多,甚至是多对多的情况。其中树和图就是典型的非线性数据结构,我们首先讲一讲树的知识。 什么是树呢? 在现实生活中有很多体现树的逻辑的例子。例如企业里的职级关系,就是一个“树”。 除人与人之间的关系之外,许多抽象的东西也可以成为一个“树” 阅读全文
摘要:
什么是数组? 数组对应的英文是array,是有限个相同类型的变量所组成的有序集合,数组中的每一个变量被称为元素。数组是最为简单、最为常用的数据结构。以整型数组为例,数组的存储形式如下图所示。 正如军队里的士兵存在编号一样,数组中的每一个元素也有着自己的下标,只不过这个下标从0开始,一直到数组长度-1 阅读全文
摘要:
什么是算法? 算法,对应的英文单词是algorithm,这是一个很古老的概念,最早来自数学领域。在数学领域里,算法是用于解决某一类问题的公式和思想。 计算机科学领域的算法,它的本质是一系列程序指令,用于解决特定的运算和逻辑问题。从宏观上来看,数学领域的算法和计算机领域的算法有很多相通之处。算法有简单 阅读全文
摘要:
私服是一种私有服务器,是在局域网中搭建的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建,私服搭建成功之后,当maven需要下载构件时,直接请求私服。私服上存在则下载到本地仓库,不存在才请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载,可以减少重复网络流量下载问题。 目前搭建 mav 阅读全文
摘要:
Archetype 是一个 Maven 项目模板工具包。原型被定义为原始模式或模型,从中创建所有其他相同类型的东西。这些名称适合我们尝试提供一个系统,该系统提供生成Maven项目的一致方法。Archetype 将帮助作者为用户创建 Maven 项目模板,并为用户提供生成这些项目模板的参数化版本的方法 阅读全文
摘要:
Maven 是一个系统管理框架或体系,专注管理构建的生命周期和各个阶段。真正工作的是绑定到各个阶段的 Maven 插件。每个插件具有一个或一个以上的目标,可以将这些插件的目标绑定到 Maven 生命周期的各个阶段中,或直接从命令行运行这些插件的目标。用户可以从 Apache 和其他的参考 Maven 阅读全文
摘要:
认识 Elastic-Job: 任务调度高级需求,Quartz 的不足: 作业只能通过 DB 抢占随机负载,无法协调 任务不能分片——单个任务数据太多了跑不完,消耗线程,负载不均 作业日志可视化监控、统计 发展历史: 官网:http:://elasticjob.io/docs/elastic-job 阅读全文
摘要:
分布式ID常见生成策略: 分布式ID生成策略常见的有如下几种: 数据库自增ID。 UUID生成。 Redis的原子自增方式。 数据库水平拆分,设置初始值和相同的自增步长。 批量申请自增ID。 雪花算法。 百度UidGenerator算法(基于雪花算法实现自定义时间戳)。 美团Leaf算法(依赖于数据 阅读全文
摘要:
在很多的场景下我们需要用到二维码,这里就通过google的zxing来对二维码进行实现。 二维码生成: 1.导入依赖: <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>2. 阅读全文
摘要:
什么是OAuth2? OAuth2是一个关于授权的开放标准,核心思路是通过各类认证手段(具体什么手段OAuth2不关心)认证用户身份,并颁发token(令牌),使得第三方应用可以使用该令牌在限定时间、限定范围访问指定资源。主要涉及的RFC规范有RFC6749(整体授权框架),RFC6750(令牌使用 阅读全文