随笔分类 -  分布式

摘要:国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(中)在上一篇已部署StarRocks集群环境基础上,本篇以列式存储、稀疏索引开始对StarRocks表设计进一步学习,进而理解排序键、物化视图、位图索引、布隆过滤器索引,全面理解加速数据处理,并通过动手实操示例巩固效果 阅读全文
posted @ 2022-05-14 01:17 itxiaoshen 阅读(1861) 评论(0) 推荐(1)
摘要:国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(上)没错,国产之强大,越来越多像新时代云原生的Apache Pulsar一样把性能优化极致的正在快速崛起,本篇从StarRocks由来开始,了解其特性和使用场景、架构和原理、组成部分,然后部署了一个FE和3个BE集群,最后通过一个简单建表正式迈入实操 阅读全文
posted @ 2022-05-12 22:47 itxiaoshen 阅读(2453) 评论(1) 推荐(3)
摘要:小试国产开源HTAP分布式NewSQL数据库TiDB-v5.3.0云原生时代又一代表作TiDB,具备HTAP也即是同时支持OLTP和OLAP,Pulsar设计相似采用存储与计算分离架构,本篇从TiDB与传统数据库的比较开始,了解应用场景和特性,进而进行部署和基础操作实践,了解整体架构、从存储、计算、调度了解TiDB的设计。 阅读全文
posted @ 2021-12-30 09:17 itxiaoshen 阅读(1323) 评论(0) 推荐(0)
摘要:分布式NoSQL数据库MongoDB初体验-v5.0.5本篇了解MongoDB和传统关系数据库和Elasticsearch,从而更深印象理解MongoDB的使用场景,也通过docker-compose编排技术完成MongoDB分片集群的部署,进一步学习容器化技术,通过Spring Boot整合MongoDB熟悉数据文档操作概念,最后通过分片设置案例了解MongoDB最为代表性的可扩展性。 阅读全文
posted @ 2021-12-24 19:58 itxiaoshen 阅读(716) 评论(0) 推荐(2)
摘要:Java定时器演进过程和生产级分布式任务调度ElasticJob代码实战本篇从Java定时器的基础理论原理开始首先认识大部分定时任务底层使用的算法如小顶堆和时间轮算法,并逐步从Jdk Timer、Jdk定时任务线程池、Spring Task、Quartz定时任务框架了解这边我们经常使用定时任务解决方案;分布式的系统存在分布式问题,底层基于Quartz的分布式调度ElasticJob正是用来解决分布式系统中常见的任务重复执行、任务负载均衡、统一任务调度、任务故障转移等,也提供了静态和动态创建定时任务代码示例 阅读全文
posted @ 2021-12-13 21:19 itxiaoshen 阅读(800) 评论(2) 推荐(1)
摘要:从Redis分布式缓存实战入手到底层原理分析、面面俱到覆盖大厂面试考点Redis作为目前最主流缓存数据库毫无疑问独霸一方,使其作为大厂Java后台开发面试的必考点之一,本篇将剖析Redis为什么性能高和快的原因,Redis也是分布式锁的实现方案之一,此外还涉及到缓存预热、缓存穿透、缓存雪崩、缓存击穿、缓存更新、缓存降级等介绍。Redis常见使用场景:计数器、分布式ID生成器、海量数据统计bitmap、会话缓存、分布式阻塞队列、分布式锁、热点数据、社交需求好友推荐、延迟队列(sortset)等。Redis提供丰富的数据结构,如字符串、哈希、列表、集合、带范围查询、位图、超对数、地理空间索引和流的排序集。Redis具有内置的复制、Lua脚本、LRU驱逐、事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster的自动分区提供高可用性。 阅读全文
posted @ 2021-12-08 19:57 itxiaoshen 阅读(765) 评论(0) 推荐(0)
摘要:Apache Kafka分布式流处理平台及大厂面试宝典v3.0.0Apache Kafka是一个开源的分布式事件流平台,使用Scala和Java混合编写,Kafka最初由Linkedin公司开发,2011年贡献给了Apache基金会并成为顶级开源项目。消息队列就是用于数据生产方和消费方解耦合的中间件。顾名思义,主体就是一个队列的形式收集消息,数据在消费端按照FIFO的原则被消费。近几天连续学习两个Apache的开源项目,今天我们又来学习另外一个Apache顶级开源项目Kafka,可以见得Apache在开源世界的绝对大佬地位。Kafka是一个基于Zookeeper协调的支持分区(partition)、多副本(replica)的分布式消息系统,最大特性是可以实时处理大量数据以满足各种需求场景,常用于大数据场景消息流中间件;其他消息队列有ActiveMQ、RabbitMQ、ZeroMQ、MetaMQ、RocketMQ,目前比较主流消息中间件是Kafka、RocketMQ和RabbitMQ。 阅读全文
posted @ 2021-12-05 16:10 itxiaoshen 阅读(487) 评论(0) 推荐(2)
摘要:Apache RocketMQ分布式消息传递和流数据平台及大厂面试宝典v4.9.2今天我们又来学习一个Apache顶级项目Apache RocketMQ,RocketMQ由国人阿里团队采用Java语言开发和开源的,曾获得2016、2018中国最受欢迎的开源软件奖。RocketMQ凭借其强大的存储能力和强大的消息索引能力,以及各种类型消息和消息的特性脱颖而出。Apache RocketMQ官网地址及其GitHub都提供非常详细中文学习文档如Apache RocketMQ开发者指南等,学习起来可谓是非常之流畅、酸爽、so easy!让我们通过官网和及其GitHub来深入学习这个与时俱进非常优秀互联网主流的消息中间件。阿里早期是基于ActiveMQ 5的分布式消息传递中间件,随着队列和虚拟主题的增加ActiveMQ IO模块达到了瓶颈,当时也研讨过Kafka但当时的Kafka不能满足阿里的要求(特别是在低延迟和高可靠性方面),因此阿里决定自行研发一个消息中间件,从传统的发布/订阅场景到高容量的实时零损失容忍度事务系统,这就是RocketMQ诞生的原因。 阅读全文
posted @ 2021-12-03 23:28 itxiaoshen 阅读(588) 评论(0) 推荐(0)
摘要:Apache ZooKeeper原理剖析及分布式理论名企高频面试v3.7.0这样学习ZooKeeper离大厂所需技能要求还远吗,开发者、管理员、维护员等不同角色学习ZooKeeper的关注点不同,本篇则兼顾多方的角度切入并深入理解ZooKeeper,了解其功能、特性、应用场景、集群部署,逐步引出分布式理论核心知识点,最后深入到架构原理,引出分布式一致性协议Paxos算法、Raft协议以及ZooKeeper独创的Zab协议,如何选主如何写数据,可谓覆盖到大厂面试方方面面的考点。Apache ZooKeeper是一种用于构建分布式应用的高性能、高度可靠、开源的分布式协调服务,提供如配置信息维护、命名、分布式同步、组服务等功能,可以实现如分布式共识、组管理、领导选举和到场协议;同时也是Google的Chubby一个Java语言版的开源实现。ZooKeeper翻译为中文则为动物园管理员,而众所周知ZooKeeper是大数据生态下的重要组件,是大数据生态的基石之一,而我们也知道大部分大数据生态下组件是以动物命名并作为其Logo,比如Hive、Hbase、Flink等,所以ZooKeeper命名就更加生动贴切。 阅读全文
posted @ 2021-11-01 23:10 itxiaoshen 阅读(214) 评论(0) 推荐(0)
摘要:Redis分布式缓存剖析及大厂面试精髓v6.2.6Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。Redis提供丰富的数据结构,如字符串、哈希、列表、集合、带范围查询、位图、超对数、地理空间索引和流的排序集。Redis具有内置的复制、Lua脚本、LRU驱逐、事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster的自动分区提供高可用性。Redis使用场景:计数器、分布式ID生成器、海量数据统计bitmap、会话缓存、分布式阻塞队列、分布式锁、热点数据、社交需求好友推荐、延迟队列(sortset)等。 阅读全文
posted @ 2021-10-13 23:05 itxiaoshen 阅读(233) 评论(0) 推荐(0)
摘要:Nginx后端开发人员必学神器-并发编程经典之作剖析和名企热点面试v1.21.3本篇将实战nginx常用功能和高级特性、剖析限流算法,并逐步带入到进阶的OpenResty和引出基于OpenResty(Nginx + Lua模块)编写的高性能款、高可用、易扩展且开源的API Gateway项目的Kong网关,最后给大家来一个并发编程十个小面试题收尾压压惊,相信读完的伙伴和笔者一样可以收获满满。我们通常使用开源的Nginx版本,但基于Nginx开源版本至上还衍生包括商业收费版本的Nginx Plus、淘宝开源的TEngine、OpenResty三大分支,可以说只要有网站或者后台服务的企业就会需要用到Nginx,其使用极为广泛。 阅读全文
posted @ 2021-10-07 14:37 itxiaoshen 阅读(358) 评论(0) 推荐(0)
摘要:Elasticsearch互联网主流分布式全文检索框架实战-ElasticStack(上)v7.14.0本篇先了解Elasticsearch底层原理,通过docker方式搭建3台ES集群,安装Head插件和Kibana可视化工具,加入ik分词器支持中文分词,通过实践Elasticsearch基本概念和操作对其有更深的理解,掌握基础运维知识,最后利用spring-boot整合elasticsearch启动器写一个增删改查功能示例。 阅读全文
posted @ 2021-09-04 00:11 itxiaoshen 阅读(482) 评论(0) 推荐(0)
摘要:分布式全局ID生成器原理剖析及非常齐全开源方案应用示例本篇文章着重介绍常用分布式全局ID实现方案及原理和优缺点分析,通过Java代码示例使用开源框架百度Uidgenerator、美团Leaf、滴滴TinyID,这些都是大量用于生产实践,而这些的开源分布式ID生成器设计思路基本都是基于号段模式和雪花算法为基础,根据不同业务场景做选择,稳定且性能有保证,轻松使用解决分布式系统面临的ID问题。 阅读全文
posted @ 2021-08-31 00:06 itxiaoshen 阅读(1142) 评论(0) 推荐(0)
摘要:ElasticJob分布式任务调度应用v2.5.2ElasticJob 是一个面向互联网生态和海量任务的分布式调度解决方案,由 2 个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。开源的分布式任务或作业调度框架除了我们本篇当当的ElasticJob,还有大众点评开发人员许雪里的XXL-JOB、唯品会Saturn、淘宝的TBSchedule和SchedulerX,此外另外一个在大数据批处理作业调度器Azkaban也非常出名 阅读全文
posted @ 2021-08-27 23:33 itxiaoshen 阅读(502) 评论(0) 推荐(0)