
分布式
文章平均质量分 93
Java领域指导者
毕业于北京交大,在西直门,离中关村很近,上学期间参与联想项目研发,毕业后留在上地软件园继续研发,期间扩展了自己很宽的知识面,会为大家带来更多精彩的文章的~~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
牛皮!40张图带你看懂分布式追踪系统原理及实践,深入开发就是现在!
前言在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成。这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用,哪些模块,哪些节点及调用的先后顺序?如何定位每个模块的性能问题?本文将为你揭晓答案。本文将会从以下几个方面来阐述分布式追踪系统原理及作用 SkyWalking的原理及架构设计 我司在分布式调用链上的实践分布式追踪系统的原理及作用如何衡量一个接口的性能好坏,一般我们至少会关注以下三个指标接口的 RT 你怎么知道原创 2020-09-28 22:04:21 · 211 阅读 · 0 评论 -
牛皮!阿里资深架构师耗费三年终于把Netty进阶之路PDF整理完了,读完我彻底跪了
前言Netty将Java NIO接口封装,提供了全异步编程方式,是各大Java项目的网络应用开发必备神器。在本文中,将Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过对案例进行剖析,讲解问题背后的原理,并结合Netty源码分析,让读者能够真正掌握Netty,在实际工作中少犯错。本文中的案例涵盖了Netty 的启动和停止、内存、并发多线程、性能、可靠性、安全等方面,囊括了Netty绝大多数常用的功能及容易让人犯错的地方。在案例的分析过程中,还穿插讲解了Netty的问题定位思原创 2020-09-25 17:30:12 · 2594 阅读 · 3 评论 -
90天吃透阿里P8大佬推荐306页SpringDataJPA入门到精通,直接入职美团
前言随着Java技术和微服务技术逐渐广泛应用,SpringCloud、Spring Boot逐渐统一Java的框架江湖。市场上的ORM框架也逐渐被人重视起来。Spring Data逐渐走入Java开发者的视野,被很多架构师作为ORM框架的技术选型。市场上没有对Spring Data JPA的完整介绍。资料比较零散,很难一下子全面、深入地掌握SpringDataJPA。本文注重从实际出发来提高从事Java开发者的工作效率,可以作为一本很好的自我学习手册和Spring Data JPA的查阅手册。原创 2020-09-25 14:57:32 · 320 阅读 · 0 评论 -
阿里P8大佬整合的四大主流中间件学习笔记,助你金九银十稳进大厂
RabbitMQ:优点:轻量,迅捷,容易部署和使用,拥有灵活的路由配置缺点:性能和吞吐量较差,不易进行二次开发RocketMQ:优点:性能好,稳定可靠,有活跃的中文社区,特点响应快缺点:兼容性较差,但随意影响力的扩大,该问题会有改善ActiveMQ:目前,消息队列在各大互联网平台,尤其是电商平台如京东、淘宝、去哪儿等网站有着深入的应用,主要作用是高并发访问高峰,通过异步消息模式减少网站响应时间,提高系统吞吐量。ActiveMQ作为众多MQ中的一员,而且也是最老牌的一员,有其优势:1)原创 2020-09-16 15:05:18 · 523 阅读 · 4 评论 -
架构设计:分布式事务概述、服务以及库表拆分模式详解
一、分布式事务简介1、转账经典案例跨地区和机构的转账的业务在实际生活中非常常见,基础流程如下:账户01通过一系列服务和支付的流程,把钱转入账户02,在这一过程中,如果账户01出现出账成功,但是账户02没有入账,这就导致数据不一致,违反了基本的事务原则。基于数据归属在不同服务和不同的数据库中,这种情况下的事务出错被称为分布式事务问题。2、基本概念分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。如上的转账案例,看似只.原创 2020-09-12 15:48:09 · 404 阅读 · 0 评论 -
突击Redis重大事故现场,又是“分布式锁”惹的祸
前言基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。背景:我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了!要知道,这个地球上飞天茅台的稀缺性啊!!!事故定为P0级重大事故...只能坦然接受。整个项目组被扣绩效了~~事故发生后,CTO指名点姓让我带头冲锋来处理,好吧,冲~事故现场经过一番了解后,得知这个抢购活动接口以前从来没有出现过这种情况,但是.原创 2020-09-10 14:55:26 · 235 阅读 · 0 评论 -
牛皮!阿里P8联合多位业界大佬整理的架构宝典,升职加薪有奇效
前言架构这个概念,和计算机学科(以及近几年才成为一级学科的软件工程)中的其他概念类似,都是从传统学科借用来的。这是因为计算机这门学科太年轻、发展太快,还来不及形成自己特有的术语和名词。而软件架构定义的多样性和各个企业对架构师的定位不同,导致很多程序员在向架构师转型的过程中有些茫然。今天,小编就为大家推荐这篇由阿里高级架构师编撰的架构宝典,汇聚了国内一线互联网公司的技术架构专家、架构领域布道者在架构方法论、微服务、业务架构、性能架构几个方面的经验,从系统架构设计和实践方法与技巧两个方面进行阐述,非原创 2020-09-01 13:27:30 · 408 阅读 · 1 评论 -
阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统
写在前面随着社交网络、移动互联网、电子商务等技术的不断发展,互联网的使用者贡献了越来越多的内容。为了处理这些内容,每个互联网公司在后端都有一套成熟的分布式系统用于数据的存储、计算以及价值提取。Google 是全球最大的互联网公司,也是在分布式技术上相对成熟的公司,其公布的Google分布式文件系统GFS、分布式计算系统MapReduce、分布式表格系统Bigtable都成为业界竞相模仿的对象,最近公布的全球数据库Spanner更是能够支持分布在世界各地上百个数据中心的上百万台服务器。Google的核心技原创 2020-08-31 14:14:48 · 361 阅读 · 0 评论 -
时隔三月,参加2020秋招散招,终拿字节跳动后端开发意向书
写在前面3个月前头条正式批笔试4道编程题只AC了2道,然后被刷了做了200多道还是太菜了,本来对字节不抱太大希望,毕竟后台竞争太大,而且字节招客户端开发比较多。后来看到有散招免笔试,抱着试一试的心态投了,然而几天过去毫无反应,20天后突然告诉我进行面试。8.10一面,8.12二三面,之后8.25晚上收到电话,拿到意向书。字节跳动后端一面(纯技术面)队列的实现,需要注意的地方 快速排序的实现、时间复杂度分析 B树和B+树的区别、应用 HashMap的实现,扩容机制,扩容时如何保证可操作原创 2020-08-29 21:58:14 · 846 阅读 · 0 评论 -
一文带你彻底吃透Redis Cluster集群,干货满满,速来
1.为什么要实现Redis Cluster主从复制不能实现高可用 随着公司发展,用户数量增多,并发越来越多,业务需要更高的QPS,而主从复制中单机的QPS可能无法满足业务需求 数据量的考虑,现有服务器内存不能满足业务数据的需要时,单纯向服务器添加内存不能达到要求,此时需要考虑分布式需求,把数据分布到不同服务器上 网络流量需求:业务的流量已经超过服务器的网卡的上限值,可以考虑使用分布式来进行分流 离线计算,需要中间环节缓冲等别的需求2.数据分布2.1 为什么要做数据分布全量数据,单机Re原创 2020-08-25 01:37:21 · 1003 阅读 · 1 评论 -
不了解Redis双向链表,还说精通Redis?今天就为你讲透这面试盲区
前言在Redis中链表List的应用非常广泛,但是Redis是采用C语言来写,底层采用双向链表实现(这边提一嘴,如果是科班出身或者大学有学过数据结构的同学,可以划走啦)。我们今天的重点就是双向链表,帮大家夯实一下这块面试盲区的基础内容。API使用先来使用一下API。如果之前有用过的同学,可以直接跳到下一小节。lpush左侧插入数据使用lpush命令往list的左侧中插入a,b,c三个字符,这边注意顺序,查询出来的是c,b,a。下面会说为什么,先挖个坑。rpush..原创 2020-08-20 16:11:06 · 172 阅读 · 0 评论 -
全网最全!高并发分布式锁架构解密,带给你独一无二的认知体验
写在前面最近,很多小伙伴留言说,在学习高并发编程时,不太明白分布式锁是用来解决什么问题的,还有不少小伙伴甚至连分布式锁是什么都不太明白。明明在生产环境上使用了自己开发的分布式锁,为什么还会出现问题呢?同样的程序,加上分布式锁后,性能差了几个数量级!这又是为什么呢?今天,我们就来说说如何在高并发环境下实现分布式锁,不是所有的锁都是高并发的。万字长文,带你深入解密高并发环境下的分布式锁架构,不是所有的锁都是分布式锁!!!究竟什么样的锁才能更好的支持高并发场景呢?今天,我们就一起解密高并发环境下典原创 2020-08-13 15:19:57 · 274 阅读 · 0 评论 -
面试官:谈关于缓存穿透+击穿+雪崩,以及热点数据失效问题的解决方案
1.我们使用缓存时的业务流程大概为:当我们查询一条数据时,先去查询缓存,如果缓存有就直接返回,如果没有就去查询数据库,然后返回。这种情况下就可能出现下面的一些现象。2.缓存穿透2.1什么是缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。2.2缓.原创 2020-08-11 13:56:19 · 320 阅读 · 1 评论 -
全网最清晰!Redis主从复制原理及实现,绝对给你非一般的体验
前言相信很多小伙伴都已经配置过主从复制,但是对于redis主从复制的工作流程和原理等问题很多都没有深入的了解。今天笔者就为大家来梳理一下Redis主从复制的原理及实践,希望能帮到大家更好的提升哦~~~Redis主从复制原理和Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。.原创 2020-08-10 21:13:28 · 263 阅读 · 0 评论 -
深入理解企业总体架构,看这篇就够了
企业商务模型的主要内容包括主营业务、商务模式、商务主体、竞品分析、组织架构、商务运作模型和业务流程等。主营业务即公司做什么业务,商务模式即公司怎么赚钱,商务主体即哪几个人在一起做这门生意,竞品分析即了解竞争对手的情况,组织架构即公司部[ ]是怎么划分的。在组织架构图中标出人数,根据系统与业务之间的对应关系,可以了解系统中哪些模块使用的频率高,以及业务与其对应模块的复杂度。商务运作模型即公司是如何运作的,售前做计划,找供应商把东西买进来后,经过服务和结算,再卖给经销商和采购商,使我们获得利润,售后进行大数原创 2020-07-22 16:36:01 · 1417 阅读 · 0 评论 -
初识Kafka,基础剖析再深入,助你游走在数据时代前沿
前言Kafka起初是由LinkedIn公司采用Scala语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现已被捐献给Apache 基金会。目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Storm、Spark、 Flink等都支持与Kafka集成。Kafka之所以受到越来越多的青睐,与它所“扮演”的三大角色是分不开的:消息系统:Kafka.原创 2020-07-21 15:56:12 · 166 阅读 · 0 评论 -
5年开发码农,靠着这部Kafka核心设计实战笔记,成功入职阿里,定级P7
写在前边Kafka起初是由LinkedIn公司采用Scala语言开发的一个多分区、多副本且基于ZooKeeper协调的分布式消息系统,现已被捐献给Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Storm、Spark、 Flink等都支持与Kafka集成。Kafka之所以受到越来越多的青睐,与它所“扮演”的三大角色是分不开的:消息系统: Kafka 和原创 2020-07-08 13:45:22 · 1763 阅读 · 1 评论 -
十年架构师养成记!MySQL+Redis+ZK+Nginx+MongoDB实战技术手册,大厂在向你招手
前言之前帮大家整理过很多Java架构相关学习内容,有粉丝反映能不能展示一些面试资料,毕竟疫情期间,很多公司也是存在裁员或减员的情况的。在这样的大环境下,面试或许成了很多程序员的主课题了。今天分享给大家的都是目前主流企业使用最高频的面试题库,也都是 Java 版本升级之后,重新整理归纳的最新答案,会让大家少走很多不必要的弯路。同时每个专题都做到了详尽的面试解析文档,以确保每个阶段的朋友都能看得懂。同时这部分面试文档也是可以免费的提供给有需要的同学们学习的,有需要的可以查看文末的获取方式!.原创 2020-07-07 13:28:31 · 1054 阅读 · 0 评论 -
太牛皮啦!阿里P8架构师,呕心48小时整理的分布式系统技术和实战笔记
前言现在的架构很多,各种各样的,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等,还有和这些架构相关的管理型的技术方法,如 DevOps、应用监控、自动化运维、SOA 服务治理、去 IOE 等等,还有很多。那什么是分布式系统?分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。包括分布式操作系统、分布式程序设计语言及其编译系统、分布式文件系统分布式数据库系统等,当然这些也是分布式的关键技术。分布式需要了解的重点1、A.原创 2020-07-03 17:03:02 · 2368 阅读 · 4 评论 -
进击的Redis:Redis的持久化方案,看和你的认知是否一样
之前咱们更新了Redis的基础架构和简单原理应用,希望给大家一个由浅及深的学习思路,今天,我们就来介绍Redis的持久化方案实现。Redis支持RDB与AOF两种持久化机制,持久化可以避免因进程异常退出或down机导致的数据丢失问题,在下次重启时能利用之前的持久化文件实现数据恢复。RDB持久化RDB持久化即通过创建快照(压缩的二进制文件)的方式进行持久化,保存某个时间点的全量数据。RDB持久化是Redis默认的持久化方式。RDB持久化的触发包括手动触发与自动触发两种方式。手动触发save原创 2020-06-27 00:49:24 · 143 阅读 · 0 评论 -
深入高性能NIO通信框架,Netty权威详解,大数据时代构建高可用系统利器
写在前边Netty是一款基于 NIO (Nonblocking /0,非阻塞10)开发的网络通信框架,对比于BIO ( BlockingIO,阻塞10),他的并发性能得到了很大提高。难能可贵的是,在保证快速和易用性的同时,并没有丧失可维护性和性能等优势。作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty构建,比如RPC框架、Zookeeper等。作为如此有发展前途的技术,你有兴趣跟随小编一起深入学原创 2020-06-22 23:30:43 · 321 阅读 · 0 评论 -
实战解析居安思危的Redis拓展—保护Redis,为Redis安全保驾护航
今天这篇我们来谈谈使用 Redis 需要注意的安全风险以及防范措施,避免数据泄露和丢失, 避免所在主机权限被黑客窃取,以及避免人为操作失误。进而为Redis的通信安全做保障。拓展 6:居安思危 —— 保护 Redis指令安全Redis 有一些非常危险的指令,这些指令会对 Redis 的稳定以及数据安全造成非常严重的影响。比如keys指令会导致 Redis 卡顿,flushdb和flushall会让 Redis 的所有数据全部清空。如何避免人为操作失误导致这些灾难性的后果也是运维人员特别...原创 2020-06-20 15:53:11 · 434 阅读 · 0 评论 -
实战解析朝生暮死的Redis拓展应用—过期策略和LRU,继续强化学习
今天,我们继续Redis的拓展应用,继续深化了解、强化学习效果。拓展 4:朝生暮死 —— 过期策略Redis 所有的数据结构都可以设置过期时间,时间一到,就会自动删除。你可以想象 Redis 内部有一个死神,时刻盯着所有设置了过期时间的 key,寿命一到就会立即收割。你还可以进一步站在死神的角度思考,会不会因为同一时间太多的 key 过期,以至于忙不过来。同时因为 Redis 是单线程的,收割的时间也会占用线程的处理时间,如果收割的太过于繁忙,会不会导致线上读写指令出现卡顿。 这些问题.原创 2020-06-19 14:49:53 · 1104 阅读 · 0 评论 -
实战解析无所不知的Redis拓展应用——Info,进阶学习,无所不能
前言学习是一个持续的过程。像咱们一直在更新的Redis学习内容,由基础结构,到原理应用,再到集群搭建,了解的够充分了,咱们接着又介绍Redis拓展应用,将知识面拓宽,毕竟技术都是相通的,只有灵活运用,才能发挥出最大作用。好了,接着今天的学习更新,拓宽Redis应用。拓展 2:无所不知 —— Info 指令在使用 Redis 时,时常会遇到很多问题需要诊断,在诊断之前需要了解 Redis 的运行状 态,通过强大的Info指令,你可以清晰地知道 Redis 内部一系列运行参数。Info...原创 2020-06-18 15:39:41 · 1110 阅读 · 0 评论 -
吃透Redis!你肯定没见过的Redis核心集群搭建,Cluster详解
前言Redis核心知识再更新!!!今天,咱们继续Redis的学习内容。简单回顾一下之前的内容:从一开始的Redis基础结构,到后来的原理应用,再到现在的集群搭建,就是由浅及深的探究Redis的内核,争取彻底吃透他。而且小编也会根据文章的长度适当断一下,为的就是让大家有一个更好的阅读体验,对内容吸收也是有好处的。如果感觉意犹未尽,随时欢迎大家评论区共同探讨交流哦~~~今天,我们继续探究Redis的集群——集群完结篇。集群 3:众志成城 —— ClusterRedisCluster 是原创 2020-06-16 15:27:58 · 481 阅读 · 0 评论 -
干货!鞭辟入里的Redis的实现原理,你知道是什么吗?
前言最近咱们在更新Redis相关教程,之前咱们介绍了Redis的简单架构和一些实战应用,想来大家对Redis已经有了初步的认识。今天,咱们再来介绍一下Redis实现原理,希望帮助大家更加深入地了解Redis。原理1:鞭辟入里——线程IO模型Redis是个单线程程序!这点必须铭记。也许你会怀疑高并发的Redis 中间件怎么可能是单线程。很抱歉,它就是单线程,你的怀疑暴露了你基础知识的不足。莫要瞧不起单线程,除了Redis 之外,Node.js 也是单线程,Nginx也是单线程,但是它.原创 2020-06-13 15:07:02 · 401 阅读 · 0 评论 -
Redis实战应用——位图和HyperLogLog详解,夯实基础再前行
前几天咱们介绍了Redis基本架构和简单应用,后续笔者还会进行更多的Redis应用和原理剖析,争取每天和朋友们进步一点点,充实自我。今天,笔者继续带来Redis应用实战——位图和HyperLogLog应用三:节衣缩食——位图在我们平时开发过程中,会有一些bool 型数据需要存取,比如用户一年的签到记录,签了是1,没签是0,要记录365天。如果使用普通的key/value, 每个用户要记录365个,当用户上亿的时候,需要的存储空间是惊人的。为了解决这个问题,Redis 提供了位图数据结构,原创 2020-06-12 16:59:33 · 392 阅读 · 0 评论 -
大牛呕心力作——Kafka开发实战,助你徜徉大数据时代
前言随着大数据时代的到来,数据中蕴含的价值日益得到展现,仿佛一座待人挖掘的金矿, 引来无数的掘金者。但随着数据量越来越大,如何实时准确地收集并分析数据成为摆在所有从业人员面前的难题。而这时,kafka的出现算是解决了这个问题。Kafka的核心功能是什么?一言以蔽之,高性能的消息发送与高性能的消息消费。接下来咱们就进入kafka世界,深入实战探讨kafka实战开发。Kafka实战本书是涵盖ApacheKafka各方面的具有实践指导意义的工具书和参考书。作者结合典型的使用场景,对Katk原创 2020-06-11 19:00:46 · 1283 阅读 · 0 评论 -
积跬步以至千里,深入剖析Redis实战——分布式锁和延时队列
前言之前咱们简单介绍了一下Redis的简单结构,相信很多读者看着比较入门。的确,笔者在介绍任何技术时,都是由浅及深的路数,为的是刚入门不久的新人,毕竟相对于久经沙场的老将,新人更需要这方便的普及。好的,话不多少,今天咱们就进行Redis的实战应用,深入剖析Redis从今天开始。Redis应用一:分布式锁分布式应用进行逻辑处理时经常会遇到并发问题。比如一个操作要修改用户的状态,修改状态需要先读出用户的状态,在内存里进行修改,改完了再存回去。如果这样的操作同时进行了,就会出现并发问.原创 2020-06-11 14:26:11 · 462 阅读 · 0 评论