热门 最新 精选 话题 上榜
文章目录读多写少场景读多写少场景读多写少的典型场景,读和写的请求对比可能差了不止一个数量级。为了不让数据库的读成为业务瓶颈,同时也为了保证写库的成功率,一般会采用读写分离的方案来保证。读写分离就是分离读库和写库操作,从 CRUD 的角度,主数据库处理新增、修改、删除等事务性操作从数据库处理 SELECT 查询操作具体的实现上,可以有一主一从,一个主库配置一个从库;也可以一主多从,也就是一个主库,但是配置多个从库,读操作通过多个从库进行,支撑更高的读并发压力。读写分离的实现是把访问的压力
原创 2021-05-31 17:19:39
147阅读
文章目录Question为啥要分库分表?读写的数据量限制数据库连接限制分库分表的原理Question读写分离优化了互联网读多写少场景下的性能问题,考虑一个业务场景,如果读库的数据规模非常大,除了增加多个从库之外,还有其他的手段吗?方法总比问题多,实现数据库高可用,还有另外一个撒手锏,就是分库分表.为啥要分库分表?业务产生的数据规模飞速增长,传统的单库单表架构不足以支撑业务发展,存在下面的性能瓶颈:读写的数据量限制数据库的数据量增大会直接影响读写的性能,比如一次查询操作,扫描 5 万条数
原创 2021-05-31 17:19:38
101阅读
文章目录Question生成主键的常见方案UUID ? (不推荐)Snowflake缺点:时钟回拨数据库维护区间分配总结Question在单库单表时,业务 ID 可以依赖数据库的自增主键实现,现在我们把存储拆分到了多处,如果还是用数据库的自增主键,势必会导致主键重复。 那怎么办呢?生成主键的常见方案一个最直接的方案是使用单独的自增数据表,存储拆分以后,创建一张单点的数据表,比如现在需要生成订单 ID,我们创建下面一张数据表:CREATE TABLE IF NOT EXISTS `order
原创 2021-05-31 17:19:37
164阅读
文章目录概述路由规则与扩容方案概述在实际开发中,数据库的扩容和不同的分库分表规则直接相关,今天我们从系统设计的角度,抽象了一个项目开发中出现的业务场景,从数据库设计、路由规则,以及数据迁移方案的角度进行讨论。假设这样一个业务场景,现在要设计网站的订单数据库模块,经过对业务增长的估算,预估三年后,数据规模可能达到 6000 万,每日订单数会超过 10 万。首先选择存储实现,订单作为电商业务的核心数据,应该尽量避免数据丢失,并且对数据一致性有强要求,肯定是选择支持事务的关系型数据库,比如使用
原创 2021-05-31 17:19:36
130阅读
文章目录What's RPCWhat’s RPCRPC(Remote Procedure Call)是一种进程间通信方式. 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC 允许程序调用另一个地址空间的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。比如两台服务器 A、B,一个应用部署在 A 服务器上,想要调用 B 服务器上应用提供的函数或者方法,由于不在一个内存空间,则不能直
原创 2021-05-31 17:19:35
330阅读
文章目录概Case网关的优缺点优点缺点微服务网关选型Spring Cloud ZuulSpring Cloud Gateway小结概这里我们来讨论下为什么微服务需要 API 网关 。网关的概念来源于计算机网络,表示不同网络之间的关口。在系统设计中,网关也是一个重要的角色,其中最典型的是各大公司的开放平台,开放平台类网关是企业内部系统对外的统一入口,承担了很多业务,比如内外部数据交互、数据安全、监控统计等功能。在微服务架构中,API 网关的作用和开放平台等传统网关又有一些不同,下面一起来看一下微服
原创 2021-05-31 17:19:34
292阅读
文章目录QuestionWhyHow典型的服务发现组件ZooKeeperEurekaNacos一致性对比Question在分布式服务中:为什么需要服务注册和发现?常用的服务发现组件有哪些?服务注册和发现对一致性有哪些要求呢?Why分布式系统下微服务架构的一个重要特性就是可以快速上线或下线,从而可以让服务进行水平扩展,以保证服务的可用性。假设有一个服务,随着业务发展,服务器负载越来越高,需要新增服务器。如果没有服务注册与发现,就要把新的服务器地址配置到所有依赖会员模块的服务,并相继重启
原创 2021-05-31 17:19:33
162阅读
文章目录Why业务场景Why分布式服务拆分以后,系统变得日趋复杂,业务的调用链也越来越长,如何快速定位线上故障,就需要依赖分布式调用跟踪技术.随着分布式服务架构的流行,特别是微服务等设计理念在系统中的应用,系统架构变得越来越分散.可以看到,随着服务的拆分,系统的模块变得越来越多,不同的模块可能由不同的团队维护,一个请求可能会涉及几十个服务的协同处理, 牵扯到多个团队的业务系统。假设现在某次服务调用失败,或者出现请求超时,需要定位具体是哪个服务引起的异常,哪个环节导致的超时,就需要去每个服务里
原创 2021-05-31 17:19:32
290阅读
文章目录WhyCaseHow分布式配置管理的特性要求选型DiamondDisconfApollo小结Why随着业务的发展,应用系统中的配置会越来越多,配置之间也有不同的业务特点,比如业务依赖的数据库配置、缓存信息配置、索引存储配置等。这类配置一般比较稳定,不会频繁更改,通常会放在工程中作为配置文件随应用一起发布。除了这些配置,还有一部分配置会经常发生修改,比如限流降级开关配置、业务中的白名单配置等。这些配置项除了变更频繁,还要求实时性,如果采取和应用一起发布的方式,那么每次变更都要重新发布服务,非常
原创 2021-05-31 17:19:31
209阅读
文章目录概Dubbo总体架构应用特性Spring Cloud总体架构应用特性Dubbo vs Spring Cloud功能对比调用方式服务发现开发成本概提到微服务开源框架,不可不说的是 Dubbo 和 Spring Cloud,这两大框架应该是大家最熟悉的微服务解决方案 .DubboDubbo 是阿里开源的一个分布式服务框架,目的是支持高性能的远程服务调用,并且进行相关的服务治理。总体架构包括了下面几个角色:Provider,也就是服务提供者,通过 Container 容器来承载;C
原创 2021-05-31 17:19:30
247阅读
文章目录概述虚拟化技术容器化技术概述随着各种云服务的发展,越来越多的服务运行在以 Docker 为代表的容器之内。相比传统虚拟化技术,容器技术是一种更加轻量级的操作系统隔离方案,可以将应用程序及其运行依赖环境打包到镜像中,通过容器引擎进行调度,并且提供进程隔离和资源限制的运行环境。虚拟化技术虚拟化技术通过 Hypervisor 实现虚拟机与底层硬件的解耦,虚拟机实现依赖 Hypervisor 层,Hypervisor 是整个虚拟机的核心所在。Hypervisor 也叫作虚拟机监视器 VMM
原创 2021-05-31 17:19:29
591阅读
Databus系统是微博DIP团队开源的分布式日志传输系统。它是一个分布式、高可用的,用于采集和移动大量日志数据的服务。它基于流式数据的简单而灵活的架构,具备健壮性和容错性,具有故障转移与恢复机制。它采用简单的可扩展的数据投递模型,允许用户自定义扩展传输组件。 主要特性 All-In-One 所有的
原创 2021-05-30 12:16:45
353阅读
今天写毕业论文的发现自己一直以来把分布式的概念记错了,之前一直以为集群部署是分布式,微服务就是微服务。现在才知道分布式就是微服务。 分布式:一个业务分拆多个子业务,部署在不同的服务器上。也称为微服务,与之相对的是单体服务。集群:同一个业务,部署在多个服务器上。与之相对的是单机部署。 参考:分布式与集
原创 2021-05-30 11:25:33
196阅读
CAP 理论 即同时满足一致性、可用性、分区容错性这三者是不可能的,其中 C(Consistency)代表一致性,A(Availability)代表可用性,P(Partition Tolerance)代表分区容错性。 为什么说 CAP 三者不能被同时满足的呢? 你可以想象在一个分布式系统里面,包含了
原创 2021-05-30 10:59:24
535阅读
本项目代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford我们使用SpringCloud官方推荐的SpringCloudLoadBalancer作为我们的客户端负载均衡器。上一节我们了解了SpringCloudLoadBalancer的结构,接下来我们来说一下我们在使用Spri
推荐 原创 2021-05-29 13:38:05
1508阅读
1Memcached 概念官方解释如下:What is Memcached?Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dy...
原创 2021-05-29 09:11:42
328阅读
最近在看 memcached 的公共课,发现memcache的确是个好东西,可以显著地减小数据库负载,当然我们要搞清楚,任何一样技术都有它的优缺点,在使用它的时候,搞清楚它的适用场景,才能扬长避短,发挥最大的作用。适用memcached的业务场景:1)如果网站包含了访问量很大的动态网页,因而数据库的负载将会很高。由于大部分数据库请求都是读操作,那么mem...
原创 2021-05-29 09:11:42
391阅读
1 、Memcached 概念官方解释如下:What is Memcached?Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applicati...
原创 2021-05-29 09:11:41
101阅读
注册服务跟发现定义:微服务时代,多个相同的jar包在不同的服务器上开启相同的服务,可以通过nginx在服务端进行负载均衡的配置。也可以通过ZooKeeper在客户端进行负载均衡配置。多个服务注册客户端获取中间件地址集合从集合中随机选一个服务执行任务服务端代码用SpringBoot完成一个最简单的web服务,并且连接zk服务器,实现注册功能。ProductController@RestController@RequestMapping("/product")public cl
原创 2021-05-29 08:18:18
920阅读
一致性简述一致性,是指对每个节点一个数据的更新,整个集群都知道更新,并且是一致的。假设一个具有N个节点的分布式系统,当其满足以下条件时,我们说这个系统满足一致性:全认同: 所有N个节点都认同一个结果值合法: 该结果必须由N个节点中的过半节点提出可结束: 决议过程在一定时间内结束,不会无休止地进行下去面临着的问题消息传递异步无序: 现实网络不是一个可靠的信道,存在消息延时、丢失,节点间消息传递做不到同步有序节点宕机: 节点持续宕机,不会恢复节点宕机恢复: 节点宕机一段时间后恢复,
原创 2021-05-29 08:17:51
1132阅读
ZooKeeper 了解下 少年
原创 2021-05-29 08:12:21
720阅读
一、什么是分布式架构分布式系统(distributed system)是建立在网络之上的软件系统。内聚性:是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性:是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据系统中,用户感觉不数据是分布的,即用户不须知道关系是否分割,有无副本,数据...
原创 2021-05-28 23:47:07
198阅读
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Don't cry over the past, it'...
转载 2021-05-28 23:46:11
78阅读
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文At any time, one should do their own...
转载 2021-05-28 23:45:40
252阅读
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Everyone's got a life that no on...
转载 2021-05-28 23:44:37
76阅读
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Giving up doesn't always mean yo...
转载 2021-05-28 23:43:57
139阅读
分布式ID必要性。业务量小于500W的时候单独一个mysql即可提供服务,再大点的时候就进行读写分离也可以应付过来。但当主从同步也扛不住的是就需要分
原创 2021-05-28 23:42:37
356阅读
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Maybe if I go away long enough, I...
转载 2021-05-28 23:40:04
100阅读
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文If you run, you stand a chance losin...
转载 2021-05-28 23:39:20
97阅读
点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Why should are lifetime to forget so...
转载 2021-05-28 23:38:02
96阅读