-
阿Spring Cloud与Dubbo的详细比较
什么是Spring Cloud Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。 为什么需要Spring Cloud Spring Cloud 是整个 Spring 家族中新的成员,要致力于分布式系统、云服务的框架。 Spring Cloud 为开发人…- 7.4k
- 0
-
分布式数据层中间件详解:如何实现分库分表+动态数据源+读写分离
分布式数据层中间件: 1.简介: 分布式数据访问层中间件,旨在为供一个通用数据访问层服务,支持MySQL动态数据源、读写分离、分布式唯一主键生成器、分库分表、动态化配置等功能,并且支持从客户端角度对数据源的各方面(比如连接池、SQL等)进行监控,后续考虑支持NoSQL、Cache等多种数据源。 2.功能特性 动态数据源 读写分离 分布式唯一主键生成器 分库分表 连接池及SQL监控 动态化配置 常见…- 5.1k
- 0
-
成长为Java架构师必须突破的11个技术点
1、Java基础技术体系掌握牢固: JVM内存分配 垃圾回收 类装载机制 JVM性能优化 反射机制 多线程 网络编程 常用数据结构和相关算法 2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式: 熟练使用UML工具以及各种流程图 经典的设计模式会手写以及熟知使用场景 概要设计与详细设计 面向对象的核心思想需要运用在代码编程中,例如:高内聚低耦合 3、目前流行开源框架,除了熟练使用,还…- 3.8k
- 0
-
分布式架构设计(文章合集)
Docker容器 Docker简介、组成架构、使用步骤、以及生态产品 Docker容器的原理、特征、基本架构、与应用场景 消息中间件 消息中间件介绍、典型使用场景、以及使用原则 Kafka的原理、基础架构、以及使用场景 主流的消息队列中间件有哪些? 微服务 微服务Dubbo和SpringCloud架构设计、优劣势比较 微服务技术架构、监控、Docker、服务治理等体…- 5.8k
- 0
-
架构设计之数据库垂直、水平拆分六大原则
数据拆分前其实是要首先做准备工作的,然后才是开始数据拆分,我先讲拆分前需要做的事情: 第一步:采用分布式缓存redis、memcached等降低对数据库的读操作。 第二步:如果缓存使用过后,数据库访问量还是非常大,可以考虑数据库读、写分离原则。 第三步:当我们使用读写分离、缓存后,数据库的压力还是很大的时候,这就需要使用到数据库拆分了。 数据库拆分原则:就是指通过某种特定的条件,按照某个维度,将我…- 5.3k
- 0
-
分布式锁的3种实现(数据库、缓存、Zookeeper)
分布式锁的几种实现方式 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。 分布式的CAP理论告诉我们,任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。 所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数…- 7.1k
- 0
-
Redis缓存的设计、性能、应用与数据集群同步
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的…- 5.2k
- 0
-
分布式数据库数据一致性的原理、与技术实现方案
背景 可用性(Availability)和一致性(Consistency)是分布式系统的基本问题,先有著名的CAP理论定义过分布式环境下二者不可兼得的关系,又有神秘的Paxos协议号称是史上最简单的分布式系统一致性算法并获得图灵奖,再有开源产品ZooKeeper实现的ZAB协议号称超越Paxos。 在大数据场景下,分布式数据库的数据一致性管理是其最重要的内核技术之一,也是保证分布式数据库满足数据库…- 6.8k
- 0
-
Dubbo的详细介绍、设计思路、以及4大适用场景
Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式…- 6.5k
- 0
-
主流的消息队列中间件有哪些?
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。 当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。 本文主要探讨主流的消息队列MQ比较,特征,以及典型使用场景。 目前主流的MQ产品 1.…- 6.5k
- 0
-
从单体架构、到SOA、再到微服务的架构设计详解
本文涉及的内容以及知识点如下: 1、单体架构 2、单体架构的拆分 3、SOA与微服务的区别 4、微服务的优缺点 5、微服务的消息 6、服务集成 7、数据的去中心化 单体架构 Web应用程序发展的早期,大部分web工程是将所有的功能模块(service side)打包到一起并放在一个web容器中运行,很多企业的Java应用程序打包为war包。其他语言(Ruby,Python或者C )写的程序也有类似…- 4.3k
- 0
-
分布式事务的解决方案详解
分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务各方面与大家进行介绍。 事务 1.1 什么是事务 数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务拥有以下四个特性,习惯上被称为ACID特性: 原子性(Atom…- 5.5k
- 0
-
淘宝技术架构从1.0到4.0的架构变迁
淘宝技术架构变迁 自2003年创立以来的,淘宝业务发展非常迅速,几乎是每年以100%的速度在成长。创立之初,为了快速上线,抢占市场,选择了当时流行的LAMP架构,用PHP作为网站开发语言, Linux作为操作系统,Apache作为Web服务器,MySQL为数据库,用了三个月不到的时间淘宝就上线了。当时整个网站应用服务器大概10台左右,MySQL数据库采用了读写分离、一主两备的部署方式。 2004年…- 3.7k
- 0
-
分布式Session共享的4类技术方案,与优劣势比较
什么是session 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。 当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。…- 5.7k
- 0
-
阿里Java架构师精通资料:性能优化+亿级并发架构汇总+架构选型
分布式并发架构 微服务、Docker容器的基本原理、架构设计,以及应用场景。 缓存:Redis、Memcached、CDN、本地缓存 搜索引擎的选型:Lucene、Solr等选型与比较 应用服务器雪崩:长事务、SQL超时、同步接口引起的雪崩场景,如何防止。 亿级高并发网站的监控策略,重点监控指标是什么等 性能优化方案汇总 JVM性能优化 MySQL慢查询优化 MySQL索引优化 表优化 代码优化 …- 6.9k
- 0
-
史上最强大型分布式架构详解:高并发+数据库+缓存+分布式+微服务+秒杀
分布式架构设计是成长为架构师的必备技能,涵盖的内容很广,今天一次打包分享,文末有:最全分布式架构设计资料获取方式~ 负载均衡 负载均衡的原理和分类 负载均衡架构和应用场景 分布式缓存 常见分布式缓存比较:memcached和redis memcached和redis的详解 分布式缓存的问题和挑战 高并发性能架构设计 Web性能优化方案 应用服务器性能优化 数据库性能优化 JVM内存运行原理、回收算…- 15.8k
- 0
-
Kafka的原理、基础架构、以及使用场景
一:Kafka简介 Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。 二:Kafka基本架构 它的架构包括以下组件: 1、话…- 6.4k
- 0
-
分布式架构系统拆分原则、需求、微服务拆分步骤
为什么需要应用拆分 我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构演变过程,你就能很清楚的知道为什么要需要进行应用拆分。 1 人员的角度。 维护一个代名工程Denali的百万级代码怪兽(虽然物理部署是分离的),从发布到上线,从人员的角度,百号人同时在一个工程上开发,一旦线上出问题,所有代码都需要回滚,从人员的角度,也基本忍受到了极致。 2 业务的角度 淘宝包含太多业务:用户、商品、交易…- 7.9k
- 0
-
负载均衡的原理、分类、实现架构,以及使用场景
为什么需要负载均衡 当系统面临大量用户访问,负载过高的时候,通常会使用增加服务器数量来进行横向扩展,使用集群和负载均衡提高整个系统的处理能力。 从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应用拆分后,部署到不同的机器上,实现大规模分布式系统。分布式和业务拆分解决了,从集中到分布的问题,但是每个部署的独立业务还存在单点的问题和访问统一入口问题,为解决单点故障,我们可以采取冗余的方式…- 4.3k
- 0
-
java架构师面试技能24全点
1,JAVA基础扎实,理解io、多线程、集合等基础框架,对JVM原理有一定的了解,熟悉常见类库,常见java api不仅会用更能知其所以然; 2,对Spring,MyBatis/Hibernate,Struts2,SpringMVC等开源框架熟悉并且了解到它的基本原理和机制; 3,熟悉HTML/HTML5, CSS/CSS3, JavaScript,JQuery,ajax。有Web前台开发经验,对…- 4.1k
- 0
-
java初级、中级、高级、架构师的技能要求和职责要求
java初级工程师技能要求: 工作1-3年 要求:能独立完成分配的模块开发任务 技术要求: 1、掌握最基础的数据结构:数组、链表、堆、栈、队列、Hash表、二叉树等 2、算法:经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等。 3、语言要求:基本的开发基础语言掌握,比如:面向对象,集合类、网络IO。 4、数据库要求:能独立设计数据库表,掌握sql,索引等。 ja…- 5.2k
- 0
-
分布式文件存储详解(4大常见存储方案)
数据正成为世界上最有价值的资源,分布式文件存储是应对数据爆炸的最好解决方案,那就会涉及到分布式文件存储方案、选型、架构设计等。 分布式文件存储的来源 在这个数据爆炸的时代,产生的数据量不断地在攀升,从GB,TB,PB,ZB.挖掘其中数据的价值也是企业在不断地追求的终极目标。但是要想对海量的数据进行挖掘,首先要考虑的就是海量数据的存储问题,比如Tb量级的数据。 谈到数据的存储,则不得不说的是磁盘的数…- 9.1k
- 0
-
双11秒杀系统如何设计?
秒杀活动场景 淘宝双11秒杀场景,大量的用户短时间内涌入,瞬间流量巨大(高并发),比如:1000万人同一时间抢购100件商品。秒杀活动是一个特别考验后台数据库、缓存服务的业务,对于数据库、缓存的性能要求特别严格。 秒杀背后的技术挑战 1、突增的服务器及网络需求 通常情况下,双 11 的服务器使用是平时的 3-5 倍,网络带宽是平时 N倍。 2、业务高并发,服务负载重 我们通常衡量一个 Web 系统…- 7k
- 0
-
架构设计经验汇总
架构设计更多的是实践经验总结,以下架构设计经验,我会陆续补充完整。 一:数据库拆分原则 架构设计之数据库拆分六大原则 二:缓存选择原则 分布式缓存的应用场景、选型比较、问题和挑战 三:消息中间件原则 消息中间件介绍、典型使用场景、以及使用原则 后续陆续更新以下架构设计原则: 工程拆分原则 性能调优原则 性能评估原则 容错原则 框架选择原则 安全设计原则 Nosql选…- 4.5k
- 0