最新文章
-
分布式架构系统拆分原则、需求、微服务拆分步骤
为什么需要应用拆分 我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构演变过程,你就能很清楚的知道为什么要需要进行应用拆分。 1 人员的角度。 维护一个代名工程Denali的百万级代码怪兽(虽然物理部署是分离的),从发布到上线,从人员的角度,百号人同时在一个工程上开发,一旦线上出问题,所有代码都需要回滚,从人员的角度,也基本忍受到了极致。 2 业务的角度 淘宝包含太多业务:用户、商品、交易…... -
Java线程池的使用方式,及核心运行原理
之前谈过多线程相关的4种常用Java线程锁的特点,性能比较、使用场景,今天主要分享线程池相关的内容,这些都是属于Java面试的必考点。 为什么需要线程池 java中为了提高并发度,可以使用多线程共同执行,但是如果有大量线程短时间之内被创建和销毁,会占用大量的系统时间,影响系统效率。 为了解决上面的问题,java中引入了线程池,可以使创建好的线程在指定的时间内由系统统一管理,而不是在执行时创建,执行…... -
Redis缓存的设计、性能、应用与数据集群同步
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的…... -
如何从0到1设计一个MQ消息队列
消息队列作为系统解耦,流量控制的利器,成为分布式系统核心组件之一。 如果你对消息队列背后的实现原理关注不多,其实了解消息队列背后的实现非常重要。 不仅知其然还要知其所以然,这才是一个优秀的工程师需要具备的特征。 今天,我们就一起来探讨设计一个消息队列背后的技术。 消息队列整体设计思路 主要是设计一个整体的消息被消费的数据流。 这里会涉及到:消息生产Producer、Broker(消息服务端)、消息…... -
架构设计之数据库拆分六大原则
架构设计之数据库拆分原则 数据拆分前其实是要首先做准备工作的,然后才是开始数据拆分,我先讲拆分前需要做的事情: 第一步:采用分布式缓存redis、memcached等降低对数据库的读操作。 第二步:如果缓存使用过后,数据库访问量还是非常大,可以考虑数据库读、写分离原则。 第三步:当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆分了。 数据库拆分原则:就是指通过某种特定…... -
分布式数据层中间件详解:如何实现分库分表+动态数据源+读写分离
分布式数据层中间件: 1.简介: 分布式数据访问层中间件,旨在为供一个通用数据访问层服务,支持MySQL动态数据源、读写分离、分布式唯一主键生成器、分库分表、动态化配置等功能,并且支持从客户端角度对数据源的各方面(比如连接池、SQL等)进行监控,后续考虑支持NoSQL、Cache等多种数据源。 2.功能特性 动态数据源 读写分离 分布式唯一主键生成器 分库分表 连接池及SQL监控 动态化配置 常见…... -
刚参加完阿里Java P6面试归来,6点面试经验总结
这是来自于优知学院一位铁粉面试回来的总结经验 刚参加完蚂蚁金服的Java P6级的面试,一共参加了4面。面试归来,总结下阿里面试流程、面试过程、以及面试题目范畴。文末有阿里Java P6面试必考题与答案参考~ 阿里面试流程 第一轮:电话技术初面; 第二轮:技术面谈(围绕技术知识点、过去项目实战经验); 第三轮:技术leader复试 第四轮:HR最后确认 阿里面试总结 1.一面 首先确…... -
服务注册与发现的实现原理、及实现优劣势比较
服务注册与发现的来源 首先,服务注册与发现是来自于微服务架构的产物。 在传统的服务架构中,服务的规模处于运维人员的可控范围内。当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定。而在微服务应用中,服务实例的数量和网络地址都是动态变化的,这对系统运维提出了巨大的挑战。 而且服务集群的跨度很大、数量很多(数以百计甚至更多),为保障系统的正常运行,必然需要有一个中心化的组件完成对各个服务的…... -
分布式文件存储详解(4大常见存储方案)
数据正成为世界上最有价值的资源,分布式文件存储是应对数据爆炸的最好解决方案,那就会涉及到分布式文件存储方案、选型、架构设计等。 分布式文件存储的来源 在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB,ZB.挖掘其中数据的价值也是企业在不断地追求的终极目标。但是要想对海量的数据进行挖掘,首先要考虑的就是海量数据的存储问题,比如Tb量级的数据。 谈到数据的存储,则不得不说的是磁盘的数…...