![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 53
Java不难的
=
展开
-
且看且珍惜!!阿里技术官限时首推的分布式系统开发笔记
分布式系统提到分布式系统,我们常常会需要分布式系统来解决系统容量不足和系统高可用问题。一方面随着业务越来越复杂,服务也会变得越来越复杂,单台机器的CPU、内存已经无法满足部署一个庞大系统的性能要求,这个时候系统的高性能显得尤为重要。另外一方面在单台机器上部署服务,如果机器出现故障导致服务挂了,那么整个系统就会崩溃了,这个时候就要提高系统的可用性。然而现实是:有些小伙伴甚至都还没有接触到分布式系统的设计这一领域。然而分布式系统设计是你从一个初级程序员向高级程序员甚至是架构师必须要迈过的一道槛。分布式系统原创 2021-07-16 21:52:12 · 311 阅读 · 0 评论 -
重磅分享!高性能架构学习路线图——分布式架构演进+相关笔记参考
一、分布式架构学习路线图据统计,人的阅读时间在20分钟以内是能够达到全身心投入的,顾文章单张篇幅以后会尽量缩短,但更新会尽量相应频繁一些。image二、计算机软件发展历史首先我们了解下计算机软件的发展历史,大概总结概括,分为c/s时代,web1.0时代和web2.0时代。c/s时代:富客户端方案。卖软件可赚钱。例如 qq、影音、游戏。1.0时代:主要是单向信息的发布,即信息门户---广大浏览器客户端 ,互联网内容是由少数编辑人员(或站长)定制的。表是三大门户,新浪/网易/原创 2020-12-09 15:24:52 · 1209 阅读 · 19 评论 -
熬了整整30天,献出这份[分布式宝典:限流+缓存+通讯],送你了!
熬了整整30天,整出这份[分布式宝典:限流+缓存+通讯],送你备战2021要不要?注意:备战跳槽,必啃限流(ZooKeeper+Nginx)、缓存(MongoDB+memcached+Redis)、通讯(ActiveMQ+Kafka+RabbitMQ)等三大分布式技术,所提及的[面试+学习]笔记PDF皆可下载原件,“点击我下载” 即可!第一个 分布式:限流1.1 ZooKeeper+Nginx面试常备题(附答案)ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,.原创 2020-11-26 15:16:22 · 1398 阅读 · 13 评论 -
RabbitMQ入门指南
消息队列(Message Queue,以下简称MQ)常用于异步系统的数据传递。若不用MQ,我们只能[在应用层]使用轮询或接口回调等方式处理,这在效率或耦合度上是难以让人满意的。当然我们也可以在系统间保持一个长连接,基于底层socket机制进行数据的实时收发,如果再将这部分功能独立成一个中间件,供项目中所有系统使用,就是我们今天所指的MQ。对比&选择以下以当前较为流行社区活跃度较高的两个MQ——RabbitMQ和Kafka做一比较,顺带提一提redis。简单的小型系统可以使用redis,red原创 2020-09-01 16:41:18 · 183 阅读 · 1 评论 -
超简单的分布式ID生成方案!美团开源框架介绍
目录阐述背景Leaf snowflake 模式介绍Leaf segment 模式介绍Leaf 改造支持 RPC阐述背景不吹嘘,不夸张,项目中用到 ID 生成的场景确实挺多。比如业务要做幂等的时候,如果没有合适的业务字段去做唯一标识,那就需要单独生成一个唯一的标识,这个场景相信大家不陌生。很多时候为了图方便可能就是写一个简单的 ID 生成工具类,直接开用。做的好点的可能单独出一个 Jar 包让其他项目依赖,做的不好的很有可能就是 Copy 了 N 份一样的代码。单独搞一个独立的 ID 生成原创 2020-07-24 11:34:44 · 474 阅读 · 0 评论 -
Redis——由分布式锁造成的重大事故
前言基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。背景:我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了!要知道,这个地球上飞天茅台的稀缺性啊!!!事故定为P0级重大事故…只能坦然接受。整个项目组被扣绩效了~~事故发生后,CTO指名点姓让我带头冲锋来处理,好吧,冲~事故现场经过一番了解后,得知这个抢购活动接口以前从来没有出现过这种情况,但是这次为什原创 2020-07-21 14:20:17 · 158 阅读 · 0 评论 -
非科班出身,玩命复习两月,字节跳动提前批Java后端,意向已拿
前言本人211非科班,之前在字节和腾讯实习过,这次其实没抱着什么特别大的希望投递,没想到字节可以再给我一次机会,还是挺开心的。本来以为有个机会就不错啦!没想到能成功上岸,在这里要特别感谢帮我内推的同学,中间投递比较曲折,是他帮了我很多,非常负责任全程跟进内推话不多说,先来看看这次的面试题项目相关Spring介绍一下SpringMVC工作流程常见注解说一下Java用过什么集合框架HashMap源码说一下(细说,从初始化到put、get、扩容、红黑树、1.8做了哪些优.原创 2020-07-16 17:55:25 · 317 阅读 · 0 评论 -
我们的系统需要什么样的分布式锁?
导读: 针对共享资源的互斥访问历来是很多业务系统需要解决的问题。在分布式系统中,通常会采用分布式锁这一通用型解决方案。本文将就分布式锁的实现原理、技术选型以及阿里云存储的具体实践进行论述。一 从单机锁到分布式锁在单机环境中,当共享资源自身无法提供互斥能力的时候,为了防止多线程/多进程对共享资源的同时读写访问造成的数据破坏,就需要一个第三方提供的互斥的能力,这里往往是内核或者提供互斥能力的类库,如下图所示,进程首先从内核/类库获取一把互斥锁,拿到锁的进程就可以排他性的访问共享资源。演化到分布式环境,我.原创 2020-07-06 15:49:06 · 197 阅读 · 0 评论 -
面试官:你是如何设计更优的分布式锁?
在 JVM 中,在多线程并发的情况下,我们可以使用同步锁或 Lock 锁,保证在同一时间内,只能有一个线程修改共享变量或执行代码块。但现在我们的服务基本都是基于分布式集群来实现部署的,对于一些共享资源,例如我们之前讨论过的库存,在分布式环境下使用Java 锁的方式就失去作用了。这时,我们就需要实现分布式锁来保证共享资源的原子性。除此之外,分布式锁也经常用来避免分布式中的不同节点执行重复性的工作,例如一个定时发短信的任务,在分布式集群中,我们只需要保证一个服务节点发送短信即可,一定要避免多个节点重复发送短信原创 2020-06-11 22:19:20 · 205 阅读 · 0 评论 -
分布式定时任务xxJob的常用姿势都集齐了,So Easy!
前言任务调度是java项目中常用的一种组件,可以指定任务在何时进行触发,最熟悉的是spring框架里面的quartz,较流行的有一些分布式调度组件,比如elastic-job/azkaban,都是基于quartz二次开发的,今天介绍一款分布式的任务调度器xxl-job。项目介绍xxl-job是一款极容易学习上手的轻量级开源分布式调度框架,分为管理端和执行端两块,管理端负责配置任务信息以及查看任务执行日志,执行端只需要配置与管理端的连接信息就可以进行具体的任务逻辑开发了,目前版本还在持续迭代中,使用简单原创 2020-06-05 17:15:52 · 4357 阅读 · 0 评论