从程序员进阶成为架构师,并非一蹴而就,需要系统化、阶段性地学习,在实战项目中融会贯通,这如同打怪通关,我们得一关一关突破,每攻破一个关口,就能得到更精良的装备,技能值也随之不断增长,直至大获全胜。
凡事预则立,在开始行动之前,我们有必要先来了解下这个岗位的核心要求,以及必知必会的技术能力,只有目标清晰、方向明确,才能事半功倍。
01 架构师岗位职责 ……继续阅读 »
陈睿
1年前 (2019-12-06) 3325浏览 0评论
10个赞
在如今的分布式盛行的时代,分布式事务永远都是绕不开的一个话题,今天就谈谈分布式事务相关的一致性与实战解决方案。
01 为什么需要分布式事务
由于近十年互联网的发展非常迅速,很多网站的访问越来越大,集中式环境已经不能满足业务的需要了,只能按照业务为单位进行数据拆分(包含:垂直拆分与水平拆分),以及按照业务为单位提供服务,从早期……继续阅读 »
陈睿
1年前 (2019-11-20) 2755浏览 0评论
6个赞
整理一份成长为阿里Java技术专家的7个技能体系,希望对你的高薪之路有所参考。
1.Java编程必备
多线程:创建与使用、线程同步与锁、线程池等的掌握
JVM:你只有深入理解虚拟机的内存回收机制,才能正确使用JVM性能调优
掌握NIO,以及对应NIO框架……继续阅读 »
陈睿
2年前 (2019-07-24) 3655浏览 0评论
5个赞
马上快过年了,过完年后又是跳槽、找工作的高峰,无论你是应届毕业生,还是在职跳槽,其实除了升值加薪之外,其本质都是寻求进阶发展的机会。
今天我就抛砖引玉,谈谈互联网技术人的进阶之路,希望对你的年后求职有一定的参考。
互联网技术岗位有哪些
前端开发(火爆的H5、JS、小程序web开发等)
后端开发……继续阅读 »
陈睿
2年前 (2019-01-31) 3922浏览 0评论
12个赞
很多同学想成为一名架构师,但是对于其中的技能掌握程度,以及编程功底的要求?设计能力的要求有哪些?
我简要从以下7点经验来谈,从技能的角度抛砖引玉。
编程基本功:数据结构和算法
1.数据结构相关的哈希表、链表、二叉树等等
2.常见的算法有哪些?至少下图的算法我认为应该要掌握。
比如:HashMap如何扩容……继续阅读 »
陈睿
2年前 (2019-01-24) 2838浏览 0评论
2个赞
内容大纲:
RocketMQ的简介与演进
RocketMQ的架构设计
RocketMQ的关键特性
RocketMQ的应用场景
RocketMQ的简介
RocketMQ一个纯java、分布式、队列模型的开源消息中间件,前身是MetaQ,是阿里研发的一个队列模型……继续阅读 »
陈睿
2年前 (2019-01-11) 6392浏览 0评论
6个赞
在高并发业务场景下,典型的阿里双11秒杀等业务,消息队列中间件在流量削峰、解耦上有不可替代的作用。
之前介绍了MQ消息队列的12点核心原理总结,以及如何从0到1设计一个MQ消息队列,以及RPC远程调用和消息队列MQ的区别
今天我们一起来探讨:
全量的消息队列究竟有哪些?
Kafka、RocketMQ、R……继续阅读 »
陈睿
2年前 (2019-01-09) 7392浏览 0评论
12个赞
消息队列作为系统解耦,流量控制的利器,成为分布式系统核心组件之一。
如果你对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现非常重要。
不仅知其然还要知其所以然,这才是一个优秀的工程师需要具备的特征。
今天,我们就一起来探讨设计一个消息队列背后的技术。
消息队列整体设计思路
主要是设计一个整体的消息被消费的数据流……继续阅读 »
陈睿
2年前 (2019-01-07) 5478浏览 0评论
11个赞
谈到分布式架构,就不得不谈到分布式架构的基石RPC。
什么是RPC
RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。
RPC服务框架有哪些
知名度较高的有Thrift(FB的)、dubbo(阿里的)
……继续阅读 »
陈睿
2年前 (2019-01-07) 4296浏览 2评论
7个赞
2018年持续一整年的架构设计分享,2019年我希望持续分享的同时,能真正意义上帮助到部分读者成为一名架构师。
学习的同时请千万别:只见树木,不见森林。
所以我会让大家先俯瞰完整的森林,我们再从树木开始,一起去穿越整个森林。
最新阿里技术P系列薪资:上图薪资结构*2
……继续阅读 »
陈睿
2年前 (2019-01-02) 4440浏览 0评论
5个赞
流量削峰的由来
主要是还是来自于互联网的业务场景,例如,马上即将开始的春节火车票抢购,大量的用户需要同一时间去抢购;以及大家熟知的阿里双11秒杀,
短时间上亿的用户涌入,瞬间流量巨大(高并发),比如:200万人准备在凌晨12:00准备抢购一件商品,但是商品的数量缺是有限的100-500件左右。
这样真实能购买到该件商品的用户也只有几百人左右, 但是从业务上来说……继续阅读 »
陈睿
2年前 (2018-12-29) 8018浏览 3评论
15个赞
消息队列已经逐渐成为分布式应用场景、内部通信、以及秒杀等高并发业务场景的核心手段,它具有低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。
无论是 RabbitMQ、RocketMQ、ActiveMQ、Kafka还是其它等,都有的一些基本原理、术语、机制等,总结分享出来,希望大家在使用消息队列技术的时候能够快速理解。
1. 消息生产者、消息者、队列
……继续阅读 »
陈睿
2年前 (2018-12-27) 4738浏览 0评论
5个赞
计算机基础:网络和协议
Java编程:并发编程、NIO等
数据:MySQL、NoSQL、搜索引擎、大数据
设计模式
分布式架构设计
还有算法和数据结构、Java并发编程、工具类这里就不一一列出了。
……继续阅读 »
陈睿
2年前 (2018-12-26) 3995浏览 1评论
10个赞
前面集中谈了分布式缓存Redis系列:
高并发架构系列:分布式锁的由来、特点、及Redis分布式锁的实现详解
高并发架构系列:Redis并发竞争key的解决方案详解
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
高并发架构系列:Redi……继续阅读 »
陈睿
2年前 (2018-12-26) 5084浏览 0评论
6个赞
Redis高并发的问题
Redis缓存的高性能有目共睹,应用的场景也是非常广泛,但是在高并发的场景下,也会出现问题:
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
以及今天要谈到的Redis并发竞争问题,这里的并发指的是多个redis的cli……继续阅读 »
陈睿
2年前 (2018-12-19) 5924浏览 0评论
4个赞
史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等
高并发架构系列:Redis缓存和MySQL数据一致性方案详解
Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别
高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解
如何解决Redis缓存雪崩、缓存穿……继续阅读 »
陈睿
2年前 (2018-12-18) 4698浏览 3评论
7个赞
高并发架构系列
高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较
高并发架构系列:Spring Cloud的核心成员、以及架构实现详细介绍
高并发架构系列:服务注册与发现的实现原理、及实现优劣势比较
高并发架构系列:Netty的实现原理、特点与优势、以及适用场景
什么是redis
redis是一……继续阅读 »
陈睿
2年前 (2018-11-29) 6237浏览 2评论
8个赞
数据主从同步的由来
互联网的很多业务,特别是在高并发的场景下,基本都是读远远大于写,如果数据库读和写的压力都同在一台主机上,这显然不太合理。
于是,把一台数据库主机分为单独的一台写主库(主要负责写操作),而把读的数据库压力分配给读的从库,而且读从库可以变为多台,这就是读写分离的典型场景如下:
为了进一步的降低数据库端的压力(高并发的瓶……继续阅读 »
陈睿
2年前 (2018-11-27) 11918浏览 0评论
14个赞
微服务架构系列
高并发架构系列:服务注册与发现的实现原理、及实现优劣势比较
阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别
阿里P8架构师谈:微服务技术架构、监控、Docker、服务治理等体系
阿里P8架构师谈:Dubbo的详细介绍、设计思路、以及4大适用场景
阿里P8架构师谈:从单体架构、到……继续阅读 »
陈睿
2年前 (2018-11-23) 5891浏览 0评论
7个赞
高并发编程系列
高并发编程系列:NIO、BIO、AIO的区别,及NIO的应用和框架选型
高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)
高并发编程系列:CountDownLatch、Semaphore等4大并发工具类详解
高并发编程系列:并发容器的原理,7大并发容器详解、及使用场景
高并发……继续阅读 »
陈睿
2年前 (2018-11-19) 10215浏览 1评论
19个赞
什么是分布式系统唯一ID
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。
如在金融、电商、支付、等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求,此时一个能够生成全局唯一ID的系统是非常必要的。
分布式系统唯一ID的特点
……继续阅读 »
陈睿
2年前 (2018-10-31) 8515浏览 1评论
9个赞
后端优化的六种方法:
1.硬件升级
硬件问题对性能的影响不容忽视。
举一个例子:一个DB集群经常有慢SQL报警,业务排查下来发现SQL都很简单,该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致,将机械硬盘升级成固态硬盘之后报警立马消失了,效果立竿见影!
2.缓存化
缓存可以称的上是性能……继续阅读 »
陈睿
2年前 (2018-10-26) 5396浏览 1评论
10个赞
服务器集群:
1.集群概念
集群就是一组相互独立的计算机,通过高速的网络组成一个计算机系统。服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。
2.集群的特点和优势
1)高性能
比如上千台服务器同时计算运行,远大于单机的运行效率。
2)性价比优势
……继续阅读 »
陈睿
2年前 (2018-10-25) 4744浏览 0评论
9个赞
架构师进阶有一块很重要的内容,就是需要掌握大数据的架构设计,主要涵括:
MySQL等关系式数据库,需要掌握数据库的索引、慢SQL、以及长事务的优化等。
需要掌握非关系式数据库(NoSQL)的选型,以及使用场景,以及与MySQL等的优劣势比较等。
分布式数据的一致性等问题,以及分布式事务。
考……继续阅读 »
陈睿
2年前 (2018-10-24) 4958浏览 0评论
4个赞
什么是Spring Cloud
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。
为什么需要Spring Cloud
Spring Cloud 是整个 Spring 家族中新的成员,要致力于分布式系统、云……继续阅读 »
陈睿
2年前 (2018-10-17) 6973浏览 1评论
12个赞
分布式数据层中间件:
1.简介:
分布式数据访问层中间件,旨在为供一个通用数据访问层服务,支持MySQL动态数据源、读写分离、分布式唯一主键生成器、分库分表、动态化配置等功能,并且支持从客户端角度对数据源的各方面(比如连接池、SQL等)进行监控,后续考虑支持NoSQL、Cache等多种数据源。
2.功能特性
动态数……继续阅读 »
陈睿
2年前 (2018-10-14) 4246浏览 0评论
11个赞
1、Java基础技术体系掌握牢固:
JVM内存分配
垃圾回收
类装载机制
JVM性能优化
反射机制
多线程
网络编程
常用数据结构和相关算法
2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用……继续阅读 »
陈睿
2年前 (2018-10-10) 2869浏览 2评论
18个赞
Docker容器
阿里P8架构师谈:Docker简介、组成架构、使用步骤、以及生态产品
阿里P8架构师谈:Docker容器的原理、特征、基本架构、与应用场景
消息中间件
阿里P8架构师谈:消息中间件介绍、典型使用场景、以及使用原则
阿里P8架构师谈:分布式消息K……继续阅读 »
陈睿
2年前 (2018-10-09) 5445浏览 2评论
10个赞
数据拆分前其实是要首先做准备工作的,然后才是开始数据拆分,我先讲拆分前需要做的事情:
第一步:采用分布式缓存redis、memcached等降低对数据库的读操作。
第二步:如果缓存使用过后,数据库访问量还是非常大,可以考虑数据库读、写分离原则。
第三步:当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆……继续阅读 »
陈睿
2年前 (2018-10-06) 3901浏览 1评论
13个赞
分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。
分布式的CAP理论告诉我们,任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。
所以,很多系统在设计……继续阅读 »
陈睿
2年前 (2018-10-06) 6783浏览 2评论
13个赞