![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集群分布式
文章平均质量分 95
徐刘根
微信关注公众号:Java后端技术(ID:JavaITWork),和20万人一起学习Java!
"Java后端技术"微信公众号专注Java相关技术:SSM、Spring全家桶、微服务、MySQL、MyCat、集群、分布式、中间件、Linux、网络、多线程,偶尔讲点运维Jenkins、Nexus、Docker、ELK,偶尔分享些技术干货,致力于Java全栈开发!
展开
-
分库分表?如何做到永不迁移数据和避免热点?
本文经授权转载自今日头条号:老顾聊技术原文地址:www.toutiao.com/i6677459303055491597一、前言中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。上图中订单数据达到了4000万,我们也知道mysql单表存储量推荐是百万级,如果不进行处理,mys..转载 2021-03-12 17:29:17 · 1348 阅读 · 0 评论 -
什么是一致性Hash算法?
最近有小伙伴跑过来问什么是Hash一致性算法,说面试的时候被问到了,因为不了解,所以就没有回答上,问我有没有相应的学习资料推荐,当时上班,没时间回复,晚上回去了就忘了这件事,今天突然看到这个,加班为大家整理一下什么是Hash一致性算法,希望对大家有帮助!经常阅读我文章的小伙伴应该都很熟悉我写文章的套路,上来就是先要问一句为什么?也就是为什么要有Hash一致性算法?就像以前介绍为什么要有Spri...原创 2018-03-13 21:15:32 · 18312 阅读 · 10 评论 -
为什么要有ID发号器、原理是什么以及如何实现?
一、前言上一篇文章《如何将一个长URL转换为一个短URL?》中谈到如何将长地址URL转换为短地址URL,其中谈到了一个比较理想的解决方案就是使用发号器生成一个唯一的整数ID,然后转换为62进制,作为短地址URL。其中使用到了ID发号器,可能很多小伙伴还不懂什么是ID发号器以及如何去实现,今天我们就一起探讨一下什么是ID发号器?ID发号器的原理是什么?如何实现一个ID发号器等。二、从数据...原创 2018-04-23 21:06:49 · 15979 阅读 · 3 评论 -
分布式之数据库和缓存双写一致性方案解析!
作者:孤独烟出处:http://rjzheng.cnblogs.com一、为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作:但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存?又或者是先删除缓存,再更新数据库?其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进...转载 2018-05-21 10:55:36 · 12603 阅读 · 11 评论 -
为什么需要分布式配置中心?
一、前言对于配置文件,我们并不陌生,它提供我们可以动态修改程序运行能力。引用别人的一句话就是:系统运行时(runtime)飞行姿态的动态调整!我可以把我们的工作称之为在快速飞行的飞机上修理零件。我们人类总是无法掌控和预知一切。对于我们系统来说,我们总是需要预留一些控制线条,以便在我们需要的时候做出调整,控制系统方向(如灰度控制、限流调整),这对于拥抱变化的互联网行业尤为重要。对于单机版...原创 2018-09-25 16:20:17 · 14278 阅读 · 6 评论 -
阿里分布式事务框架GTS(Seata)开源啦!
文章来源:https://www.oschina.net/p/fescar就在9号这天,阿里分布式事务框架GTS开源了一个免费社区版Fescar,看到了这个消息内心非常的激动!在微服务系统中,分布式事务一直是痛点,也是难点。社区里也有一些开源的分布式解决方案的框架,比如ByteTCC、LCN,但是这些框架没有一个权威的组织在维护,或多或少大家都有点不敢用。阿里开源的分布式事务解决框架Fes...转载 2019-01-11 10:17:08 · 24556 阅读 · 4 评论 -
Alibaba之Nacos详解
本文为转载文章,原文作者:Wind Mt原文链接:https://windmt.com/2018/11/09/intro-to-spring-cloud-alibaba-nacos/上个月最后一天的凌晨,Spring Cloud Alibaba 正式入驻了 Spring Cloud 官方孵化器,并在 maven 中央库发布了第一个版本。目前 Spring Cloud Alibaba 还只...转载 2019-03-29 16:11:36 · 58052 阅读 · 7 评论 -
看了这篇Dubbo RPC面试题,让天下没有难面的面试题!
作者:hu1991die | 整理:根哥啊原文链接:www.jianshu.com/p/78f72ccf0377RPC非常重要,很多人面试的时候都挂在了这个地方!你要是还不懂RPC是什么?他的基本原理是什么?你一定要把下边的内容记起来!好好研究一下!特别是文中给出的一张关于RPC的基本流程图,重点中的重点,Dubbo RPC的基本执行流程就是他,RPC框架的基本原理也是他,别说...转载 2019-03-22 17:21:23 · 11692 阅读 · 3 评论 -
10款常见MySQL高可用方案选型解读
作者介绍:王松磊,现任职于UCloud,从事MySQL数据库内核研发工作。主要负责UCloud云数据库udb的内核故障排查工作以及数据库新特性的研发工作。原文链接:https://yq.aliyun.com/articles/80365一、概述我们在考虑MySQL数据库的高可用架构时,主要考虑如下几方面:如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减...转载 2019-04-08 17:59:49 · 3882 阅读 · 0 评论 -
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
前面一节说到了《为什么说Redis是单线程的以及Redis为什么这么快!》,今天给大家整理一篇关于Redis经常被问到的问题:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等概念的入门及简单解决方案。一、缓存雪崩缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询...原创 2018-03-12 20:09:10 · 42569 阅读 · 12 评论 -
分布式锁简单入门以及三种实现方式介绍
很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。原创 2018-01-11 21:16:28 · 124878 阅读 · 52 评论 -
大型网站应用之海量数据和高并发解决方案总结一二
一、网站应用背景开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,我们应该通过其他的思路去解决问题,互联网发展至今,已经提供了很多成熟的解决方案,但并不是都具有适用性,你把淘宝的技原创 2016-11-19 16:46:18 · 91855 阅读 · 21 评论 -
Redis实战和核心原理详解(5)使用Redis存储Nginx+Tomcat负载均衡集群的Session
环境:Cent OS 7.0(虚拟机环境)、Nginx 1.9.8、Redis 3.2.1一、背景在使用Nginx+Tomcat实现负载均衡的时候,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因为会出现session不同步或者丢失的问题。二、Nginx安装与配置1、Nginx安装网上的资源对于安装Nginx的介绍比较多,例如最简单的为:(1) 获取原创 2016-07-25 17:26:04 · 32033 阅读 · 20 评论 -
基于TCP和HTTP协议的RPC简单实现
一、RPC基本概念1、基本概念(1)RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议;(2)RPC协议假定某些传输协议的存在,如TCP或HTTP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层;(3)RPC使得开发包括网络分布式多程序在内的应用程序更加原创 2016-12-09 20:56:13 · 12105 阅读 · 4 评论 -
数据库分库分表策略的具体实现方案
相关文章:1、 使用Spring AOP实现MySQL数据库读写分离案例分析2、MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解3、MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结4、使用mysqlreplicate命令快速搭建 Mysql 主从复制5、大型网站应用之海量数据和高并发解决方案总结一二一、MySQL扩展具体的实...原创 2017-01-02 14:10:03 · 90985 阅读 · 26 评论 -
Dubbo详细介绍与安装使用过程
1 Dubbo介绍1.1 dubbox简介随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。垂直应用架构 当访问量逐渐增大,单一应用原创 2016-07-09 10:34:44 · 192534 阅读 · 32 评论 -
使用Spring AOP实现MySQL数据库读写分离案例分析
一、前言分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。在进行数据库读写分离的时候,我们首先要进行数据库的主从配置,最简单的是一台Master和一台Slave(大型网站系统的话,当然会很复杂,这里只是分析了最简单的情况)。通过主从配置主从数据库保持了相同的数据,我们在进行读操作的时候访问从数据库Slave,在原创 2016-12-29 19:15:43 · 26076 阅读 · 8 评论 -
Redis实战和核心原理详解(6)使用Spring Session和Redis解决分布式Session跨域共享问题
前言对于分布式使用Nginx+Tomcat实现负载均衡,最常用的均衡算法有IP_Hash、轮训、根据权重、随机等。不管对于哪一种负载均衡算法,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因此会出现session不同步或者丢失的问题。实际上实现Session共享的方案很多,其中一种常用的就是使用Tomcat、Jetty等服务器提供的Session共享原创 2017-02-26 16:01:19 · 70280 阅读 · 32 评论 -
Redis实战和核心原理详解(7)Spring Session解决分布式Session问题的实现原理
上一篇:使用Spring Session和Redis解决分布式Session跨域共享问题 : http://blog.csdn.net/xlgen157387/article/details/57406162上一篇介绍了如何使用Spring Session和Redis解决分布式Session跨域共享问题,介绍了一个简单的案例,下边就学习一下Spring Session的实现原理。注:以下步骤是基于原创 2017-03-04 11:48:06 · 33671 阅读 · 11 评论 -
小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐
十年间,负载均衡的前沿技术层出不穷,令用户眼花缭乱。经常在技术网站、文档中出现的“四层负载均衡”、“七层负载均衡”字眼有什么含义?有什么区别?对客户网络有哪些不同的优化?在大型的网站服务器集群中,负载均衡技术是必不可少的。使用负载均衡的技术架构,能够有效避免后端服务出现单点故障,提升服务的稳定性。一、负载均衡简介负载均衡,英文名称为LoadBalance,其意思就是将负载(工作任务)进行平衡,分摊到原创 2017-11-30 17:38:01 · 7304 阅读 · 0 评论 -
简要分析ZooKeeper基本原理及安装部署
一、ZooKeeper 基本概念1、ZooKeeper 是什么?Zookeeper官网地址: http://zookeeper.apache.org/Zookeeper官网文档地址:http://zookeeper.apache.org/doc/trunk/index.htmlZooKeeper 是Hadoop下的一个子项目,它是一个针对大型分布式系统的可靠协调系统;它提供的功能包...原创 2016-12-11 16:11:48 · 19664 阅读 · 2 评论