最新文章
-
Java核心技术面试宝典:深入81个大厂Java面试必考点精讲(内含面试资料包)
大家好,我是陈睿,英文名mikechen,优知学院创始人 BAT架构技术500+期作者,10年+大厂架构经验 亲历参与打造淘宝技术发展史最为重要的从垂直架构到服务化演变的关键项目。 操盘淘宝设计中心、淘宝关联营销、淘宝店铺等多个数亿级数据量的核心项目。 负责带队从0到1 用时8个月再造了一个天猫商城,支撑数亿级访问的电商项目。 10年以上项目架构经验,超过6个大厂业务线的技术负责人,有丰富的项目经…... -
产品技术人必备干货:产品开发流程(完整版)
产品技术开发流程 “ 产品开发流程涉及的人员从产品经理到设计师、前端、后端等等一系列人员,这篇文章主要关于产品开发的完整流程,希望对产品技术人员有一定的参考价值。 一:产品概念设计:MRD 产品开发流程步骤第一步:市场需求文档,简称为MRD(Market Requirement Document),是市场部门的产品经理或者市场经理编写的一个产品的说明需求的文档,该文档是产品项目由“准备”阶段进入到…... -
Redis哨兵、复制、集群的设计原理,以及区别
前一篇文章Redis为什么是单线程、及高并发快的3大原因详解谈了Redis高并发快的3个原因,本篇主要谈Redis的高可用,两篇合起来就可以把redis的高并发和高可用搞清楚了。 谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能。 复制(Replic…... -
UML是什么?UML常用图以及建模工具有哪些?
“ 在做项目设计方案的时候,理解为需求后,我们都会做技术设计方案,这个时候就需要用到UML建模,涉及到UML常用图形以及工具画图,以下我会详细介绍UML图形和我个人推荐的UML建模工具。 UML即Unified Model Language,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件…... -
线程的五大状态,以及线程之间的通信与协作
在Java面试的时候,经常会问到Java并发编程相关的多线程、线程池、线程锁、线程通信等面试必考点,比如: Java线程池的使用方式,及核心运行原理 4种常用Java线程锁的特点,性能比较、使用场景 CountDownLatch、Semaphore等4大并发工具类详解 ConcurrentHashMap的实现原理(含JDK1.7和JDK1.8的区别) 史上最强多线程面试44题和答案:线程锁+线程池…... -
Kafka的原理、基础架构、以及使用场景
一:Kafka简介 Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 二:Kafka基本架构 它的架构包括以下组件: 1、话…... -
从单体架构、到SOA、再到微服务的架构设计详解
本文涉及的内容以及知识点如下: 1、单体架构 2、单体架构的拆分 3、SOA与微服务的区别 4、微服务的优缺点 5、微服务的消息 6、服务集成 7、数据的去中心化 单体架构 Web应用程序发展的早期,大部分web工程是将所有的功能模块(service side)打包到一起并放在一个web容器中运行,很多企业的Java应用程序打包为war包。其他语言(Ruby,Python或者C )写的程序也有类似…... -
RPC框架的实现原理,及RPC架构组件详解
RPC的由来 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。 垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将…...