ZooKeeper

Java后端面试题

烈酒焚心 提交于 2020-11-19 06:34:45
标★号为重要知识点 id全局唯一且自增,如何实现? Redis的 incr 和 increby 自增原子命令 统一数据库的id发放 美团Leaf Leaf——美团点评分布式ID生成系统(批发号段) Twitter的snowflake算法 UUID ★如何设计算法压缩一段URL? 通过发号策略,给每一个过来的长地址,发一个号即可,小型系统直接用mysql的自增索引就搞定了。如果是大型应用,可以考虑各种分布式key-value系统做发号器。不停的自增就行了。第一个使用这个服务的人得到的短地址是 http://xx.xx/0 第二个是 http://xx.xx/1 第11个是 http://xx.xx/a 第依次往后,相当于实现了一个62进制的自增字段即可。 常用的url压缩算法是短地址映射法。具体步骤是: 将长网址用md5算法生成32位签名串,分为4段,,每段8个字符; 对这4段循环处理,取每段的8个字符, 将他看成16进制字符串与0x3fffffff(30位1)的位与操作,超过30位的忽略处理; 将每段得到的这30位又分成6段,每5位的数字作为字母表的索引取得特定字符,依次进行获得6位字符串; 这样一个md5字符串可以获得4个6位串,取里面的任意一个就可作为这个长url的短url地址。 ★Dubbo负载均衡策略? 随机、轮询、最少使用、一致性哈希(除了一致性哈希外,都有加权)

使用helm在Kubernetes上部署kafka

别说谁变了你拦得住时间么 提交于 2020-11-19 04:33:47
作者:青蛙小白, 原文: https://blog.frognew.com/2019/07/use-helm-install-kafka-on-k8s.html 1.配置helm chart repo kafka的helm chart还在孵化当中,使用前需要添加incubator的repo: helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator 。 肉身在国内需要设置azure提供的镜像库地址: helm repo add stable http: //mirror.azure.cn/kubernetes/charts helm repo add incubator http: //mirror.azure.cn/kubernetes/charts-incubator helm repo list NAME URL stable http: //mirror.azure.cn/kubernetes/charts local http: //127.0.0.1:8879/charts incubator http: //mirror.azure.cn/kubernetes/charts-incubator 2.创建Kafka和Zookeeper的Local PV 2.1

我真的尽力了,最经典Redis面试14题,没时间复习就看这个吧

☆樱花仙子☆ 提交于 2020-11-18 23:53:43
前言 小编真的努力了,Redis面试官灵魂14问!你值得拥有! 1.redis 简介 简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以存写速度非常快,因 此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业 务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。 2.为什么要用 redis /为什么要用缓存 主要从“高性能”和“高并发”这两点来看待这个问题。 高性能 假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在数 缓 存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当 快。 如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据即可! 高并发 直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中 去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。 3.为什么要用 redis 而不用 map/guava 做缓存? 缓存分为本地缓存和分布式缓存。以 Java 为例,使用自带的 map 或者 guava 实现的是本地缓存,最主要的特点是 轻量以及快速,生命周期随着

面试被问到分布式锁,凉凉

筅森魡賤 提交于 2020-11-18 08:41:21
随着企业应用规模越来越大,为了满足业务增长的需求,几乎所有一线的互联网公司都会面临分布式场景,比如“618”,双11 大促,抢票,社群裂变等活动。 能否解决分布式业务问题,成为大厂面试时的重点考核内容。 然而,想把分布式掌握好并不是一蹴而就的,如果只是临时抱佛脚,草草记下一些概念就去应聘,稍一深入,就答不上来,结果可想而知。比如 现在实现分布式锁的技术方案就不少,那么面试官经常都会问到什么深度呢? 下面列举几个问题,大家可以参考下: “ XA 规范有哪些优化措施? 基于数据库实现分布式锁有哪些问题? 使用Zookeeper实现分布式锁时,如何选择重试策略?” 正值暑期求职旺季, 不少朋友苦于搜集资料耗时耗力,很难 cover 住面试官的考核角度。为了能让大家在准备面试时少走弯路,这里特别推荐一个限时福利——开课吧历时三个月打造的 “分布式专题精品课” 内容对本公众号免费开放 5 天。 本次专题视频的讲师都源于国内知名互联网公司,花费了近三个月的时间,调研精选各大互联网企业真实业务场景和用人需求,经过多次迭代,最终形成了这套专题内容来帮助正在求职的朋友们。 听下来,你可以: 收获完整的分布式开发学习路径 在实际业务场景中理解分布式事务和锁的本质,并进行性能调优 吸收业界专家的经验分享,加速分布式技能进阶 加深分布式底层和核心技术的理解 轻松应对面试中分布式问题

HBASE(分布式海量NOSQL数据库)

霸气de小男生 提交于 2020-11-17 07:00:09
HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引 1. Hbase高级应用1.1建表高级属性下面几个shell 命令在hbase操作中可以起到很到的作用,且主要体现在建表的过程中,看下面几个create 属性1、 BLOOMFILTER 默认是NONE 是否使用布隆过虑及使用何种方式 布隆过滤可以每列族单独启用。 使用 HColumnDe... hbase系统架构图以及各部分的功能作用,物理存储,HBase寻址机制,读写过程,Regin管理,Master工作机制 1.1 hbase内部原理1.1.1 系统架构 Client 1 包含访问hbase的接口,client维护着一些cache来加快对hbase的访问,比如regione的位置信息。Zookeeper 1 保证任何时候,集群中只有一个master 2 存贮所有Region的寻址入口—-roo... hbase的shell命令行方式操作 进入hbase命令行 cd /home/tuzq/software/hbase-1.3.1/bin ./hbase shell 查看帮助 显示hbase中的表 List(列出你有哪些表) 创建user表,包含info、data两个列族 create

运维必备:Zookeeper集群“脑裂”问题处理大全

ぐ巨炮叔叔 提交于 2020-11-14 10:15:38
​本文重点分享Zookeeper脑裂问题的处理办法。ZooKeeper是用来协调(同步)分布式进程的服务,提供了一个简单高性能的协调内核,用户可以在此之上构建更多复杂的分布式协调功能。 脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群。而这些集群环境有一个统一的特点,就是它们有一个大脑,比如ElasticSearch集群中有Master节点,Zookeeper集群中有Leader节点。 一、 Zookeeper集群节点为什么要部署成奇数 Zookeeper容错 指的是当宕掉几个Zookeeper节点服务器之后,剩下的个数必须大于宕掉的个数,也就是剩下的节点服务数必须大于n/2,这样Zookeeper集群才可以继续使用,无论奇偶数都可以选举Leader。 例如5台Zookeeper节点机器最多宕掉2台,还可以继续使用,因为剩下3台大于5/2。 至于为什么最好为奇数个节点? 这样是为了以最大容错服务器个数的条件下,能节省资源。 比如,最大容错为2的情况下,对应的Zookeeper服务数,奇数为5,而偶数为6,也就是6个Zookeeper服务的情况下最多能宕掉2个服务。 所以从节约资源的角度看,没必要部署6(偶数)个Zookeeper服务节点。 Zookeeper集群有这样一个特性: 集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。

Eureka停更了?试试Zookpper和Consul

…衆ロ難τιáo~ 提交于 2020-11-14 07:01:19
在Spring Cloud Netflix中使用Eureak作为注册中心,但是Eureka2.0停止更新,Eureka1.0 进入了维护状态。就像win7一样,同样可以用,但是官方对于新出现的问题并不能及时修复,所以我们就需要使用替代品。目前可用的注册中心替代品主要有:Zookeeper、Consul、Nacos等,这里主要讲前两个,Nacos是Spring Cloud Alilibaba中的组件,后期会说到。 使用Zookeeper作为注册中心 一、安装Zookeeper并启动服务 ​ 这一步非本文重点,请自行百度,很简单的 二、将原有的微服务注册进Zookeeper 使用过Dubbo的小伙伴对Zookeeper一定不陌生。使用Eureka时,我们是创建一个新的SpringBoot Web项目(如果是Eureka集群的话,就要创建多个项目),然后将其他微服务注册进去,而Zookeeper却不用新建项目,只需要通过修改配置和简单的编码就可以进行注册 为了和之前的项目冲突,我们先将之前的项目复制两个新的项目 zookeeper-provider-8001 和 zookeeper-consumer-80 先修改 zookeeper-provider-8001 这个提供者项目 在pom.xml中引入依赖 <dependency> <groupId>org.springframework

每天两小时轻松掌握java、spring、Redis、JVM、分布式、高并发

早过忘川 提交于 2020-11-13 13:14:34
干货视频,高级架构师最新java、spring、Redis、JVM、分布式、高并发。要的留下私信我,一小时之内回复。里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点高级进阶干货的免费直播讲解。 需要资料直接关注下方公众号即可免费领取。 精选JAVA 高并发分布式架构课程视频 。 高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx 互联网架构专题课程【马士兵教育】---Java架构师学这个就够了 若干架构资料文档 面试系列视频发放 如果需要获取到这个里面的文档的话帮忙转发一下然后再关注下方公众号得到获取方式吧! 来源: oschina 链接: https://my.oschina.net/u/4310950/blog/4715598

GitHub爆火Java核心知识笔记,入门进阶涨薪如探囊取物

会有一股神秘感。 提交于 2020-11-13 13:12:17
前言 Github 是目前全球最大的男性同性交友平台~最近在GitHub上爆火的一份Java核心知识笔记让大家趋之若鹜,我费尽心思拿到整理后只感觉:Java技术可谓博大精深,知识体系非常丰富并且也极其复杂,因此想要学习好Java其实并不是一件非常轻松的事。当然,刚跨入编程行业的小白也无需担心,这份 Java核心知识笔记 你学完一半基本就可以找个非常不错的开发工作了,如果想要高薪,那就默默地全部学完吧! 目录 内容 本书中的章节大部分是相互独立的。你可以研究自己最感兴趣的主题,并可以按照任意顺序阅读这些章节。 JVM JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接的交互。 Java集合 集合类存放于 Java.util 包中,主要有 3 种:set(集)、list(列表包含 Queue)和 map(映射)。 Java多线程并发 Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法。 Java基础 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。 Spring 原理 它是一个全面的

Eureka 系列(02)Eureka 一致性协议

99封情书 提交于 2020-11-13 03:24:09
Eureka 系列(02)Eureka 一致性协议 Eureka 是由 Netflix 基于 AP 模型的服务发现中间件,包括服务发现服务器和客户端的。相关文档推荐:一是 Spring Cloud Eureka 官网 ,二是 Eureka源码解析 。 本系列源码分析基于 spring-cloud-starter-netflix-eureka-2.1.1.RELEASE 和 Eureka-1.9.8。 [TOC] 0. Spring Cloud 系列目录 - Eureka 篇 1. 服务发现方案对比 1.1 技术选型 <center><b>表1:Spring Cloud 服务发现方案对比</b></center> 技术选型 CAP模型 适用规模(建议) 控制台管理 社区活跃度 Eureka AP <30k 支持 低 Zookeeper CP <20k 不支持 中 Consul AP <5k 支持 高 Nacos AP/CP 100k+ 支持 靠大家啦☺ 注: 以上数据来源于 小马哥技术周报 。 1.2 数据模型 <center><b>表2:Spring Cloud 服务发现数据模型</b></center> 框架 集群(框架) 服务应用 服务集群 服务实例 租约管理 Spring-Cloud -- (serviceId) -- ServiceInstance -- Nacos