- 博客(26)
- 收藏
- 关注
原创 浅析腾讯TDSQL
分布式实例提供水平扩容能力,适合海量数据的场景提供了灵活的读写分离模式支持全局的order by、group by、limit操作聚合函数支持sum、count、avg、min、max等支持跨set的join、子查询支持预处理协议支持全局唯一字段、支持sequence支持分布式事务支持两级分区提供特定的sql查询整个集群的配置和状态支持权限相关的SQL(proxy版本>=14.4),也可以通过赤兔管理系统授权。
2023-11-23 11:16:41
666
原创 阿里easyExcel小记
文章目录前言一、初识二、读excel1.日期、数字或者自定义格式转换三、写excel1.图片导出2.根据模板写入3.合并单元格四、填充excel1.多列表组合填充总结前言之前我们操作excel大多都是用的Apache POI或者JXL,遇到了很多的问题,大多数公司也都自己对其进行封装。easyExcel是阿里开源的项目,将excel的内存占用控制在KB级别,而且绝对不会内存溢出。项目gitHub地址:https://github.com/alibaba/easyexcel一、初识比较:PO
2021-12-12 11:58:40
2193
原创 一起来学习下Elasticsearch(二)
文章目录前言一、核心概念二、Elasticsearch分布式架构三、集群规划3.1我们需要多大规模的集群3.2集群中的节点角色如何分配3.3如何避免脑裂问题四、集群调优策略4.1Index(写)调优4.2Search(读)调优总结前言上期我们一起学习了下ES的基础和高级应用,这期我们一起来看下企业级高可用分布式集群。一、核心概念集群(Cluster)一个Elasticsearch集群由多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识。节点(Node)1.一个Elastic
2021-12-05 09:27:13
493
原创 一起来学习下Elasticsearch(一)
文章目录前言一、Elasticsearch基础1. 是什么2. 功能3. 特点4. 企业使用场景二、玩转ES之高级应用1.映射高级1.1地理坐标点数据类型1.2动态映射2.Query DSL总结前言Elasticsearch在企业中应用广泛。本篇内容适合对ES进行巩固学习的同学,大神请略过。学知识前先听故事:起源:Shay Banon。2004年失业,陪老婆去伦敦学习厨师。失业在家帮老婆写一个菜谱搜索引擎。封装了lucene,做出了开源项目compass。找到工作后,做分布式高性能项目,再封装com
2021-11-28 11:45:25
1496
原创 重新复习一下吧,注解
文章目录前言一、常用注解1.来自spring2.来自spring mvc3.来自spring boot二、自定义注解1.实现自定义总结前言许多人认识注解的第一步,应该是从spring,springMVC的常用注解开始的。然后我们发现,实际业务中需要我们进行一些注解的自定义,来满足我们业务的扩展性。再然后,我们可能接触到spring boot 后又发现,它之所以风靡的原因之一,是给我们提供大量注解。讲到这里,注解在开发中的地位可见一斑,老哥,一起来复习下吧!由于注解实在太多了,本文不会一一举出,来几个
2021-11-21 11:16:16
397
原创 模板+策略+自定义注解+工厂
前言需求:一个模块中的功能比较固定(可能步骤都是那几步),需要复用到其他模块或者系统中(这里的系统后续可能会不断增加),但是其他地方难免会有一些个性化的要求,此时该如何优雅设计这部分功能呢?????怎么样有思路嘛,嗯…如果没有的话不妨先看一下我的。思路:1.将比较固定的流程,固化成几个模板方法;2.个性化的需求我们很容易想到策略模式,但是光用策略模式,代码扩展性就太低了;3.此时我们就可以想到用自定义注解,利用注解参数作为策略传入;4.那这个注解如何生成呢?工厂模式闪亮登场下面直接来看下关键
2021-11-12 10:07:12
312
原创 走近并发编程
文章目录前言一、juc1.并发容器1.1 BlockingQueue1.2 CopyOnWrite1.2.1 CopyOnWriteArrayList1.2.2 CopyOnWriteArraySet1.3 concurrentHashMap1.4 concurrentSkipListMap2.同步工具类2.1semaphore2.2 countDownLatch2.3CyclicBarrier二、线程池与future1.线程池实现原理2.completableFuture三、ForkJoinPool总结
2021-10-03 14:49:21
155
原创 浅析RocketMQ
文章目录前言一、特性二、高级特性1.高可用机制2.刷盘机制3.负载均衡3.1 producer3.2 consumer总结前言RocketMQ是阿里巴巴中间件团队自研的一款高性能、高吞吐量、低延迟、高可用、高可靠(具备金融级稳定性)的分布式消息中间件,开源后并于2016年捐赠给Apache社区孵化,目前已经成为了Apache顶级项目。一、特性订阅与发布消息顺序消息过滤消息可靠性至少一次回溯消费事务消息定时消息消息重试消息重投流量控制死信队列二、高级特性1.高可用机
2021-10-02 10:02:14
296
原创 分布式文档存储独角兽MongoDB
文章目录前言一、MongoDB体系结构二、应用实战1.MongoDB适用场景2.MongoDB的⾏业具体应⽤场景3.如何抉择是否使⽤MongoDB三、体系架构总结前言NoSQL数据库四⼤家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,⽂档存储 MongoDB。MongoDB 是⼀个基于分布式⽂件存储的数据库,由 C++ 编写,可以为 WEB 应⽤提供可扩展、⾼性能、易部署的数据存储解决⽅案。MongoDB 是⼀个介于关系数据库和⾮关系数据库之间的产品,是
2021-10-02 09:35:18
298
原创 SpringBoot体系原理
文章目录前言一、第一个Starter二、探索SpringApplication启动Spring三、starter自动化配置原理总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结学习内容:学习时间:学习产出:前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言spring boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。spring boot特点如下:创建独立的spring应用程序;嵌入的tomcat
2021-09-12 15:41:32
846
原创 深入Redis
文章目录前言1.redis的数据结构2.redis为什么那么快3.redis变慢排查4.总结前言最近看一篇大神文章,说是把redis搞懂了一只脚就踏进了大厂,嗯?还有这好事,那我肯定相信呀????接下来就以问答的形式深入一下redis吧1.redis的数据结构String List Hash set Zset这里我希望你能继续说出bitmaps(位图),hyperloglogs(解决统计问题),geospatial indexes(查找附近的人)但事情远没有那么简单,redis可是针对这些
2021-09-12 15:39:34
431
原创 主流MQ比较
前言比较目前主流的三款MQ产品(RocketMQ、RabbitMQ、kafka),分析优缺点便于选型!选取原则首先,产品应该是开源的。开源意味着如果队列使用中遇到bug,可以很快修改,而不用等待开发者的更新。其次,产品必须是近几年比较流行的,要有一个活跃的社区。这样遇到问题很快就可以找到解决方法。同时流行也意味着bug较少。流行的产品一般跟周边系统兼容性比较好。最后,作为消息队列,要具备以下几个特性:1、消息传输的可靠性:保证消息不会丢失。2、支持集群,包括横向扩展,单点故障都可以解决。3
2021-09-12 15:34:45
2144
原创 springcloud简析(下)
文章目录前言一、注册+配置Nacos(AP+CP)1.注册中心2.配置中心二、哨兵sentinel总结前言springcloud文章第二弹,这篇文章主要是针对SCA的,主要包括nacos和sentinel。后面会总结下,后面我们就可以用nacos+sentinel+dubbo搭建微服务。话不多说,发车。。。一、注册+配置Nacos(AP+CP)微服务中的组件本来就五花八门,维护起来有一定难度,如果有一个好用的组件同时包含两种功能,我们又何乐而不为呢,快到碗里来。主要功能包括:服务发现与健康检
2021-08-29 15:12:09
255
原创 springCloud简析(上)
文章目录前言一、服务注册中心eureka二、负载均衡Ribbon1.引入库2.读入数据三、熔断器Hystrix总结前言spring cloud提供了一系列的微服务解决方案,后面甚至还出现了我们说的第二代SCA–spring cloud alibaba。下面我们就一起来看下其中比较重要的几个吧!一、服务注册中心eureka注意:注册中心本质上是为了接耦服务提供者和服务消费者。服务注册中心一般原理:eureka通过心跳检测、健康检查和客户端缓存等机制,提高系统的灵活性、可伸缩性和可用性。服务
2021-08-29 15:00:21
112
原创 MySql原理及优化
文章目录前言一、MySql索引原理二、sql调优1.sql规范检查2.表结构索引检查三、分库分表总结前言MySql索引原理、工作中怎么进行sql调优:sql规范检查、表结构索引检查。再结合案例走一波,算是给自己做个学习回顾总结吧????希望对你也有一些帮助。如果有什么不足之处,欢迎大神留言指出。。。一、MySql索引原理MySql索引底层数据结构用的是B+树,相信大家都能说出来。那为什么不用B树呢?别急,先来看下B+树是怎么实现的,知道他的原理,这样才好跟B树有个比较嘛如图所示是 B+
2021-07-26 17:44:43
489
原创 了解Redis
文章目录前言一、交个朋友二、一个多功能朋友1.分布式缓存2.分布式限流3.分布式锁4.分布式ID生成器三、朋友有难1.Redis缓存雪崩2.Redis缓存击穿3.Redis缓存穿透四、拔刀相助写在最后前言众所周知Redis可以用作分布式缓存,但是如果你觉得他的用法只有这个,就有一点太小看他了。分布式ID生成器,分布式限流,基于Redis的分布式锁…是他,是他,都是他。一、交个朋友redis有哪几种数据结构?五种:string、hash、list、set、zset。没问题,好像大多数人都可以答的上
2021-07-25 10:58:46
209
原创 kafka消费详解
文章目录前言一、如何高效消费数据?二、rebalance?二、消费者消息重复?总结前言之前写过kafka生产者,有兴趣的可以先去看下https://blog.youkuaiyun.com/weixin_54604802/article/details/118242529。这篇我们就主要针对消费端来看下吧,从问题出发,解决它好吧一、如何高效消费数据?想到高效,单个的效率不高,那么自然就想到了多线程消费。那么这么做有什么弊端呢?答案就是可用性不高,每个线程区消费对应的分区,那么线程挂掉后,消息没办法转移给其他线
2021-07-24 11:12:51
1247
原创 Apache Dubbo详解
文章目录前言一、dubbo简介二、高级特性1.SPI机制2.总结前言开始之前,你们知道dubbo的历程吗哈哈。不知道为啥,不管听歌,还是学一个知识点,我觉得这个是我最想知道的,像是在听一个简短的故事????其实最早他叫阿里巴巴dubbo,是阿里的内部分布式框架,在2012年开源。之后各大公司对他进行了扩展,有当当的dubbox和网易的dubbok等。2014年由于策略上的改变,阿里停更了,他的版本停留在了2.4.11。但是在 2017 年,spring cloud 大红大紫,阿里看到分布式市场的前景
2021-07-23 11:24:40
1879
原创 简析spring cloud
文章目录前言一、服务治理eureka二、客户端负载均衡Ribbon三、 服务容错保护Hystrix四、 声明式服务调用Feign五、API网关服务Zuul总结前言首先来看下官方介绍。这好像太正式了呀,能不能解释下?好,满足你:微服务系统架构的一站式解决方案,在平时我们构建微服务的过程中需要做如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等操作时用。那我自己的理解:spring cloud就是提供了一些组件,来解决分布式系统中遇到的问题。说到这里好像有必要来上这么一句:本文中的知
2021-07-14 14:35:35
254
原创 zookeeper应用及深入进阶
文章目录前言一、应用场景1、数据发布/订阅2、集群管理3、分布式锁3.1 排他锁3.2 共享锁二、深入进阶1.ZAB协议2.读入数据总结前言ZooKeeper最为主要的使⽤场景,是作为分布式系统的分布式协同服务。ZooKeeper对分布式系统的协调,使⽤的是共享存储方式。其设计⽬标是将那些复杂的且容易出错的分布式⼀致性服务封装起来,构成⼀个⾼效可靠的原语集,并以⼀些简单的接⼝提供给⽤户使⽤。它实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。(笔者希望在阅读此篇文章前,
2021-07-09 12:06:31
423
原创 RPC简介
分布式理论、架构设计(自定义RPC)文章目录分布式理论、架构设计(自定义RPC)前言1. BIO(同步并阻塞)2. NIO(同步非阻塞)3. AIO(异步非阻塞)总结前言随着dubbo的风生水起,分布式架构成为了现在炙手可热的话题,但究竟其架构设计是什么样的呢?RPC通信的原理又是怎么样的呢?那就让我带着问题一起来看下。# 一、分布式理论与分布式架构理论## 1. 分布式架构介绍## 2. 分布式理论## 3. 分布式一致性协议## 4. 分布式系统设计策略## 5. 分布式架构服
2021-07-04 19:17:38
1049
原创 你应该知道的JUC
文章目录前言一、并发容器1.BlockingQueue2.ConcurrentHashMap二、同步工具类1.引入库2.读入数据三、Atomic类1.引入库三、lock与condition1.引入库总结前言提到java应知应会,除了算法,并发编程当仁不让。那么java.util.concurrent包你肯定不能错过。他提供了并发编程下的并发容器,同步工具类以及两个子包:Atomic和lock(其中就包含大名鼎鼎的AQS–AbstractQueuedSynchronizer),这个包着实庞大,我们就先从
2021-07-04 11:02:01
103
原创 JVM优化
文章目录前言一、java虚拟机的内存管理二、使用步骤1.引入库2.读入数据总结前言学习java的我们怎么都离不开虚拟机。如果你是一个工作三年以上的朋友,那么jvm的学习将会是有必要的,许多线上的问题都需要通过理解它来更好的排查。一、java虚拟机的内存管理示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotl
2021-07-04 09:56:44
150
原创 一致性Hash算法、集群时钟同步问题、分布式ID解决方案、分布式调度问题、Session共享问题
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、Hash算法应用场景?二、普通hash算法存在的问题三、一致性hash算法总结前言本文提供分布式架构下场景式解决方案,包括一致性Hash算法、集群时钟同步问题、分布式ID解决方案、分布式调度问题、Session共享问题。提示:以下是本篇文章正文内容,下面案例可供
2021-07-02 17:49:41
152
原创 优雅使用kafka生产者
文章目录前言一、消息发送二、源码分析1.发送流程2.步骤解析2.1 初始化2.2 序列化消息2.3 路由分区2.3 写入内部缓存2.3 消费缓存三、参数解析1.acks2.batch.size3.retries总结前言kafka作为消息中间件,适用于大数据的场景。但是如何保证消息的高效和准确性呢?刨根问底,源码走起…(本文希望读者有简单的kafka运用基础,且文章较长,有条件的可以准备瓜子板凳)一、消息发送简单的消息发送,仅需配置服务端的必填参数bootstrap.server(kafka集群中
2021-06-26 14:57:09
404
原创 Apeach Tomcat Web服务器
Apeach Tomcat Web服务器相信大家都用过Tomcat,那么他的工作原理及架构设计呢?如果你还不是很清楚,那么我们就可以一起来探讨下了Tomcat 系统总体架构Tomcat 请求处理⼤致过程Tomcat Servlet容器处理⼤致过程Tomcat 系统总体架构Tomcat 连接器组件 CoyoteCoyote简介Coyote 的内部组件及流程Tomcat Servlet 容器 CatalinaTomcat 模块分层结构图及Catalina位置Servlet 容器 Catalina 的结构Cont
2021-06-20 11:41:31
279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅