![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
普通网友
这个作者很懒,什么都没留下…
展开
-
Serverless快速开发与部署一个Hello World(Java版)
昨天被阿里云的这个酷炫大屏吸引了!我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90、95后在玩?就深入看了一下。这是一个关于Serverless的体验活动,Serverless在国内一直都处于不温不火的状态,所以很多开发者其实都不太了解Serverless到底是啥!如果你也有这样的好奇,那么可以跟我一样来体验一下,简单的写个Hello World,有个最直观的感受这个充满未来感产品吧!P.S. 参加活动,加入钉钉群还能每天抽奖一次,有机会赢取AirPods、高达PG模型(我喜欢的原创 2020-09-11 13:14:17 · 1100 阅读 · 0 评论 -
Netty+Protostuff实现单机压测秒级接收35万个对象实践经验分享
单纯netty结合protostuff进行rpc对象传输的demo网上有很多,大部分都是一个模子刻出来的,一开始我也是抄了一个,本地测试畅通无阻,未发生任何异常。部署预发环境,进行压测后,问题巨多,各种报错层出不穷。当然,压测时我用的数据量大、发送请求非常密集,单机是每秒前100ms发送2万个对象,其他900ms歇息,死循环发送,共计40台机器作为客户端,同时往2台netty Server服务器发送对象,那么平均每个server每秒大概要接收40万个对象,由于后面还有业务逻辑,逻辑每秒只能处理35万实测原创 2020-09-11 13:14:21 · 817 阅读 · 1 评论 -
太精彩了!阿里出品Java初学者开发宝典,嗨翻全网,就业必备
前言我常常在想,近些年来互联网行业裁员情况越来越严重,为什么还是会有特别多的人挤破脑袋想要入这一行,尤其是大部分已经工作的人也会想着要转行来学习编程,再根据今年的高考志愿填报情况来看,很明显,计算机学科已经成为热门行业,那对于刚刚入学的新生以及想要转行的人来说,怎么开始学习一门编程语言,确实是一大难题。所以,今天就关于Java这一类编程语言,我们对初学者的学习也有了以下的内容分享,这份内容看完之后可以说是相当精彩,由阿里内部出品的“Java初学者开发宝典”,堪称就业必备,现已嗨翻全网。以下将会从原创 2020-09-09 20:23:46 · 164 阅读 · 0 评论 -
一个字,绝!不愧是阿里顶配的保姆级SpringSecurity笔记!
Spring SecuritySpring Security是spring采用AOP思想,基于servlet过滤器实现的安全框架。它提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。在web应用开发中,安全无疑是十分重要的,选择Spring Security来保护web应用是一个非常好的选择。Spring Security 是spring项目之中的一个安全模块,可以非常方便与spring项目无缝集成。特别是在spring boot项目中加入spring security更是十原创 2020-09-09 17:27:39 · 499 阅读 · 2 评论 -
全网跪求!架构师社区疯传的阿里爆款微服务架构神仙笔记也太赞了
前言关于微服务架构网上的博文数不胜数,但总的来说其实微服务架构就是将一个复杂的软件系统,进行了惨无人道的拆分,但是通过拆分之后,这个复杂的应用系统变得更加的高效。随着互联网的发展,网站应用的规模不断扩大,常规的应用架构已无法应对,分布式服务架构以及微服务架构势在必行,亟需一个治理系统确保架构有条不紊的演进。微服务架构的技术体系、社区目前已经越来越成熟。在最初系统架构的搭建,或者当现有架构已到达瓶颈需要进行架构演进时,很多架构师、运维工程师会考虑是否需要搭建微服务架构体系。虽然很多文章都说微服务架原创 2020-09-09 12:52:26 · 491 阅读 · 9 评论 -
一文入魂!彻底巩固你的Nginx知识体系!
Nginx篇基本介绍Nginx是一款轻量级的 Web服务器 / 反向代理服务器 / 电子邮件(IMAP/POP3)代理服务器,主要的优点是: 支持高并发连接,尤其是静态界面,官方测试Nginx能够支撑5万并发连接 内存占用极低 配置简单,使用灵活,可以基于自身需要增强其功能,同时支持自定义模块的开发 使用灵活:可以根据需要,配置不同的负载均衡模式,URL地址重写等功能 稳定性高,在进行反向代理时,宕机的概率很低 支持热部署,应用启动重载非常迅速原创 2020-09-09 12:52:23 · 482 阅读 · 0 评论 -
阿里日订单超量后,要做什么系统才能撑住压力?
转自公众号“二马读书”背景几年前我曾经服务过的一家电商公司,随着业务增长我们每天的订单量很快从30万单增长到了100万单,订单总量也突破了一亿。当时用的Mysql数据库。根据监控,我们的每秒最高订单量已经达到了2000笔(不包括秒杀,秒杀TPS已经上万了。秒杀我们有一套专门的解决方案,详见。不过,直到此时,订单系统还是单库单表,幸好当时数据库服务器配置不错,我们的系统才能撑住这么大的压力。业务量还在快速增长,再不重构系统早晚出大事,我们花了一天时间快速制定了重构方案。重构?说这么高大上,不就原创 2020-09-08 20:08:06 · 730 阅读 · 0 评论 -
857页Alibaba“Java学习进阶笔记”开源!分布式/微服务/Spring框架/JVM/数据结构与算法啥都有
笔记作者:来自于阿里P8级架构师: Mark笔记特点:条理清晰,含图像化表示更加易懂。内容概要:包括 Java 集合、JVM、多线程、并发编程、设计模式、Spring全家桶、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat等大厂面试题等、等技术栈!由于整个文档比较全面,内容比较多,篇幅不允许,下面以截图方式展示 。点赞加关注之后直接原创 2020-09-07 14:28:34 · 659 阅读 · 0 评论 -
全网首发!鹅厂内部Spring Boot核心手册终于开源了
2020年了想必不会有人还不知道Spring框架。这个Java史上最‘经典’的开发框架官网是这样定义它的:Spring使Java编程更快、更容易、更安全。Spring对速度、简单性和生产力的关注使得它成为世界上最受欢迎的Java框架。自2003崛起以来到现在它依旧是一个不能被轻易替代的框架,今天要与大家聊的并不是Spring,而是它的扩展——Springboot。Spring Boot不知道从什么时候开始,技术社区Spring Boot的文章越来越多;Spring Boot相关的图文、视原创 2020-09-01 13:14:36 · 1211 阅读 · 2 评论 -
不愧是Github上疯传的腾讯Java全栈进阶笔记!总结的太全啥都有!
移动互联网时代,IT 系统变得愈加复杂,对我们程序员的要求也是越来越高,技术不断更新,我们还不能停止学习,停下来了就会被打上一个‘不合格的程序员’的标签,如何成为一位「不那么差」的程序员?「不那么差」的程序员又需要掌握一些什么知识呢?这篇文章就与大家聊一聊这个话题。以下内容仅代表我从业以来所积累的相关经验,不对不全的地方还请大家海涵,下面我会从硬技能、软实力这些方面尽量阐述我所认为的 “不那么差的程序员” 应当做到哪些技能。技术栈作为一名码代码的程序员,怎么说干的还是技术活。既然是技术活那专业实原创 2020-08-27 22:40:02 · 2435 阅读 · 3 评论 -
Zookeeper一些重要概念汇总,学完轻松玩转Zookeeper!
相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。前几天,总结项目经验的时候,我突然问原创 2020-08-26 21:36:14 · 428 阅读 · 0 评论 -
程序员如何快速成长?应该按照怎样的路线来提升自己?需要学习的技术点有哪些?
前言关于技术人如何成长的问题,一直以来都备受关注,因为程序员职业发展很快,即使是相同起点的人,经过几年的工作或学习,会迅速拉开极大的差距,所以技术人保持学习,提升自己,才能够扛得住不断上赶的后浪,也不至于被“拍死”在沙滩上。近日,经过一朋友的透露,Alibaba也首发了一份限量的“Java成长笔记”,里面记载的知识点非常齐全,看完之后才知道,差距真的不止一点点!Java成长笔记主要是将Java程序员按照年限来进行分层,清晰的标注着Java程序员应该按照怎样的路线来提升自己,需要去学习哪些技术点。原创 2020-08-25 15:07:03 · 513 阅读 · 0 评论 -
阿里内部对标P5到P7程序员进阶核心笔记:分布式/开源框架/微服务/性能调优全有
前言程序员,立之根本还是技术,一个程序员的好坏,虽然不能完全用技术强弱来判断,但是技术水平一定是基础,技术差的程序员只能CRUD,技术不深的程序员也成不了架构师。程序员对于技术的掌握,除了从了解-熟悉-熟练-精通的过程以外,还应该从基础出发,到进阶,到源码,到实战。所以,程序员想要成功,首先要成就自己。今天,这份Java全能笔记终于爆火了,看完之后我直接跪了!这份Java全能笔记内容齐全,包括以下几个方面:Java筑基(基础):Tomcat+Mysql+设计模式+并发编程+JVM+Netty原创 2020-08-25 13:57:34 · 587 阅读 · 4 评论 -
GitLab和Docker如何自动化部署SpringBoot应用?
Docker和Spring Boot是非常流行的组合,我们将利用GitLab CI的优势,并在应用程序服务器上自动构建,推送和运行Docker镜像。GitLab CIGitlab CI/CD服务是GitLab的一部分。开发人员将代码推送到GitLab存储库时,GitLab CI就会在用户指定的环境中自动构建,测试和存储最新的代码更改。选择GitLab CI的一些主要原因:易于学习,使用和可扩展 维护容易 整合容易 CI完全属于GitLab存储库的一部分 良好的Docker集成 镜像原创 2020-08-20 14:51:30 · 493 阅读 · 0 评论 -
拥抱Cloud Native?云原生究竟有多火你真的知道吗?
什么是Cloud Native?Cloud Native(云原生)是以云架构为优先的应用开发模式。目前,越来越多的企业已经在大规模开始拥抱云,在云环境开发应用、部署应用、发布应用。它与微服务一样,Cloud Native 并不是一种具体的技术,而是一类思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等它的特性有:以云为基础架构原创 2020-08-18 14:17:03 · 497 阅读 · 0 评论 -
全网最全的IDEA热部署方案,看完弄懂,再也不用加班了~
# 概念热部署就是正在运行状态的应用,修改了他的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了解决的问题有两个:1、在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;2、生产上运行的程序,可以在不停止运行的情况下进行升级,不影响用户使用。# IDEA 开启热部署本篇文章主要是介绍Idea这款开发工具的热部署,而用Idea的人大多数都是用来开发java程序,当前流行的java程序主要有两种,第一种是传统的Web应用,依原创 2020-08-18 14:07:38 · 759 阅读 · 0 评论 -
架构师社区爆火的分布式微服务神仙笔记究竟有什么魅力?
前言微服务、云原生、Kubemnetes. Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。自从几十年前第一次引入分布式系统这个概念以来,出现了很多原来根本想象不到的分布式系统使用案例,但同时也引入了各种各样的新问题。而且分布式与微服务的区别是现在热议的话题,但是大多数文章都没有说清这两者的区别,只是说微服务是分布式的细分,那细分的微服务原创 2020-08-17 19:48:26 · 425 阅读 · 0 评论 -
我能想到的MySQL各种锁机制都在这了,你知道几种?
MySQL中的锁机制,按力度分为行级锁,页级锁,表级锁,其中按用法还分为共享锁和排他锁.行级锁行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁和排他锁.特点开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。用法共享锁(s 锁 读锁)用法:排他锁(x 锁 写锁 )用法:表级锁表级锁是MySQL中...原创 2020-08-17 14:23:38 · 397 阅读 · 2 评论 -
我佛了!Java开发者福音:并发编程源码剖析+高并发系统搭建
多线程和高并发的关系和区别“高并发和多线程”总是被人一起提起,给人感觉两者好像相等,实则 高并发 ≠ 多线程多线程多线程是Java的特性,因为现在cpu都是多核多线程的,可以同时执行几个任务,为了提高jvm的执行效率,Java提供了这种多线程的机制,以增强数据处理效率。多线程对应的是cpu,高并发对应的是访问请求,可以用单线程处理所有访问请求,也可以用多线程同时处理访问请求。在过去单CPU时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进原创 2020-08-16 16:43:27 · 453 阅读 · 0 评论 -
电商平台每逢节日是如何做到几亿并发的?
高可用设计是互联网系统架构的基础之一,以天猫双十二交易数据为例,支付宝峰值支付次数超过 8 万笔。大家设想一下,如果这个时候系统出现不可用的情况,那后果将不可想象。而解决这个问题的根本,就是服务层的高可用。什么是服务层众所周知,服务层主要用来处理网站业务逻辑,是大型业务网站的核心。比如下面三个业务系统就是典型的服务层,提供基础服务功能的聚合。 用户中心:主要负责用户注册、登录、获取用户信息功能; 交易中心:主要包括正向订单生成、逆向订单、查询、金额计算等功能; 支付中心:主原创 2020-08-16 16:39:25 · 635 阅读 · 0 评论 -
厉害了!百度开源的分布式唯一ID生成器UidGenerator分分钟解决时钟回拨问题
UidGenerator是百度开源的Java语言实现,基于Snowflake算法的唯一ID生成器。而且,它非常适合虚拟环境,比如:Docker。另外,它通过消费未来时间克服了雪花算法的并发限制。UidGenerator提前生成ID并缓存在RingBuffer中。 检测结果显示,单个实例的QPS能超过6000,000。依赖环境:JDK8+ MySQL(用于分配WorkerId)snowflake由下图可知,雪花算法的几个核心组成部分:1为sign标识位; 41位时间戳; 10位work原创 2020-08-15 23:10:23 · 1401 阅读 · 0 评论 -
知道这9个点设计一个成功的微服务不是问题
人体是不同系统的组合,其中大多数系统是独立的,并且作为一个整体协同工作。每个系统都有自己的特定功能。所有具有多种其他支持框架的器官构成了一个功能完备的机构。现在,如果应用于软件系统,这就是微服务架构的概念。在技术方面,微服务系统允许开发单个功能模块。这种开发单一功能模块的趋势为大型和小型组织提高了灵活性,性能和成本效率,同时实现了持续测试和早期交付。但是,在我们深入研究微服务设计的基础知识之前,让我们先看看它的优点。微服务架构的优点对于单一体系结构,开发人员经常面临有限的可重用性和可伸...原创 2020-08-14 16:42:09 · 401 阅读 · 0 评论 -
回滚机制有多少种?它们的实现原理是什么?这些你确定都知道?
回滚是指当程序或数据出错时,将程序或数据恢复到最近的一个正确版本的行为。最常见的如事务回滚、代码库回滚、部署版本回滚、数据版本回滚、静态资源版本回滚等。通过回滚机制可保证系统在某些场景下的高可用。7.1 事务回滚在执行数据库SQL时,如果我们检测到事务提交冲突,那么事务中所有已执行的SQL要进行回滚,目的是防止数据库出现数据不一致。 对于单库事务回滚直接使用相关SQL即可。如果涉及分布式数据库,则要考虑使用分布式事务,最常见的如两阶段提交、三阶段提交协议,这种方式实现事务回滚难度较低,但是对性能影响原创 2020-08-12 22:39:23 · 10355 阅读 · 1 评论 -
微处理架构——处理复杂事物,细说微服务架构的优势与不足
摘要微处理架构——处理复杂事物许多公司,比如Amazon、eBay和NetFlix,通过采用微处理结构模式解决了上述问题。其思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。微服务正在博客、社交媒体讨论组和会议演讲中获得越来越多的关注,在Gartner的2014 Hype Cycle上它的排名非常靠前。同时,软件社区中也有不少持怀疑论者,认为微服务不是什么新东西。Naysayers认为这就是SOA架构的重新包装。然 而,尽管存在着不同的争论,微服务架构模式却正在为敏捷部原创 2020-08-12 14:09:54 · 502 阅读 · 0 评论 -
跪了!将技术应用于业务、理论应用于实践搭建高可用高并发系统
前言大家都知道,在我们的技术生涯中,总是要不断针对新的需求去设计研发新的系统,但是系统设计是一个不断迭代的过程,在迭代中发现问题并修复问题,即满足需求的系统是不断迭代优化出来的,这是一个持续的过程,我个人不相信完美架构银弹。不过,如果一开始就有好的基础系统设计,未来可以更容易达到一个比较满意的目标。在设计系统时,我们应该适当参考墨菲定律(个人见解)。1. 任何事都没有表面看起来那么简单。2.所有的事都会比你预计的时间长。3. 可能出错的事总会出错。4.如果你担心某种情况发生,那么它原创 2020-08-07 14:55:22 · 460 阅读 · 0 评论 -
不能错过的美团分布式ID生成器(Leaf ),好用的一批
美团(Leaf)Leaf是美团推出的一个分布式ID生成服务,名字取自德国哲学家、数学家莱布尼茨的一句话:“There are no two identical leaves in the world.”(“世界上没有两片相同的树叶”),取个名字都这么有寓意,美团程序员牛掰啊!Leaf的优势:高可靠、低延迟、全局唯一等特点。目前主流的分布式ID生成方式,大致都是基于数据库号段模式和雪花算法(snowflake),而美团(Leaf)刚好同时兼具了这两种方式,可以根据不同业务场景灵活切换。接下来结原创 2020-08-07 14:47:46 · 2341 阅读 · 0 评论 -
微服务到底是不是金科玉律?基于Spring Cloud如何构建分布式系统?
分布式系统的概念随着互联网的不断发展,大数据、高并发和快响应是互联网系统的必然要求。但是在大数据和高并发的情况下,要求快响应是比较苛刻的,因为大量的数据会导致查找数据的时间变长,高并发会使互联网系统因繁忙而变慢,进而影响响应速度。所以说单机系统已经不可能满足现在互联网了,为了满足互联网的苛刻要求,网站系统已经从单机系统发展为多台机器协作的系统,因而互联网系统已经从单机系统演变为多台机器的系统,我们把这种多台机器相互协作完成企业业务功能的系统,称为分布式系统。微服务架构因为分布式非常复杂,所原创 2020-08-05 14:47:30 · 446 阅读 · 0 评论 -
Github上星标55.9k的微服务神仙笔记你确定不来了解一下?
微服务微服务,是著名的00 ( 面向对象,Object Oriented) 专家Martin Fowler 提出来的,它是用来描述将软件应用程序设计为独立部署的服务的一种特殊方式。最近两年,微服务在各大技术会议、文章、书籍上出现的频率已经让人们意识到它对于软件领域所带来的影响力。微服务架构微服务架构的系统是一个分布式系统,按业务领域划分为独立的服务单元,有自动化运维、容错、快速演进的特点,它能够解决传统单体架构系统的痛点,同时也能满足越来越复杂的业务需求。要注意的是我们.原创 2020-08-04 14:55:59 · 518 阅读 · 0 评论 -
面向金九银十:当面试官问到项目经历究竟该如何应对?
现在面试介绍过往的项目经历是面试过程中一个很重要的组成部分,相信你在以往的面试中也一定深有体会。从项目经历中,面试官不仅可以了解到项目研发的整体过程,也能够从中了解到你的技术方案设计思路,排查线上问题的能力,以及对于项目架构演进方向的把握。那么,在介绍自己的项目经历时,你要如何介绍才能抓住面试官内心的痛点呢?在回答这个问题之前,我还是给你分享一个我面试候选人的例子。候选人虽然工作年限不长,经历的项目也只有一段,但是这段经历是某个大厂耳熟能详的成功项目,有着很高的井发请求量。我猜测,他应该在项目中受到了比原创 2020-08-04 14:22:14 · 987 阅读 · 0 评论 -
天然支持云原生?SpringCloud Alibaba8大技术让你肆意玩转微服务
SpringCloud Alibaba是什么它致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。下面的内容都是基于一位大佬总结的神笔记所展开的功能服务限流降级 服务注册与发现 分布式配置管理原创 2020-07-31 13:55:49 · 632 阅读 · 0 评论 -
分布式ID生成服务,推荐大家搞一个太香了
目录阐述背景 Leaf snowflake 模式介绍 Leaf segment 模式介绍 Leaf 改造支持RPC阐述背景不吹嘘,不夸张,项目中用到ID生成的场景确实挺多。比如业务要做幂等的时候,如果没有合适的业务字段去做唯一标识,那就需要单独生成一个唯一的标识,这个场景相信大家不陌生。很多时候为了图方便可能就是写一个简单的ID生成工具类,直接开用。做的好点的可能单独出一个Jar包让其他项目依赖,做的不好的很有可能就是Copy了N份一样的代码。单独搞一个独立的ID生成服务非常有必要,原创 2020-07-28 13:20:02 · 422 阅读 · 1 评论 -
微服务(SpringCloud)与分布式(Dubbo)的区别你真的知道嘛?
对比微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。一、Dubbo与SpringCloud优缺点相同点:SpringCloud 和Dubbo可以实现RPC远程调用框架,可以实现服务治理。不同点:SpringCloud是一套目前生态圈比较完善的微服务框架,其整合了分布式架构中常遇到的服原创 2020-07-26 15:21:55 · 4056 阅读 · 4 评论 -
Kafka的概念以及如何搭建Kafka集群
Kakfa介绍Kafka是什么Kafka最初是LinkedIn的内部内部基础设施系统。它被认为是一个流平台,在Kafka上可以发布和订阅流数据,并把它们保存起来、进行处理。但是我们在使用Kafka中,最多的就是将它作为一个消息系统使用,类似于ActiveMQ、RabbitMQ等。但是Kafka与这些传统的消息系统又有着许多的不同点,这些差异使它又不同于消息系统。Kafka是一个分布式系统,以集群(支持自由伸缩)的方式运行。(所以我们总称为分布式消息队列) Kafka可以用来存储数据,数据存储的原创 2020-07-24 15:04:39 · 460 阅读 · 2 评论 -
分布式架构详解、分布式技术详解、分布式事务
一、分布式架构详解1、分布式发展历程1.1 单点集中式特点:App、DB、FileServer都部署在一台机器上。并且访问请求量较少1.2 应用服务和数据服务拆分特点:App、DB、FileServer分别部署在独立服务器上。并且访问请求量较少1.3 使用缓存改善性能特点:数据库中频繁访问的数据存储在缓存服务器中,减少数据库的访问次数,降低数据库的压力1.4 应用服务器集群特点:多台应用服务器通过负载均衡同时对外提供服务,解决单台服务器处理能力上限的问题原创 2020-07-24 00:30:36 · 825 阅读 · 0 评论 -
分布式锁原理:redis分布式锁与zookeeper分布式锁的区别
首先分布式锁和我们平常讲到的锁原理基本一样,目的就是确保,在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm 或者说应用中,我们很容易去处理控制,在jdk java.util 并发包中已经为我们提供了这些方法去加锁, 比如synchronized 关键字 或者Lock 锁,都可以处理。但是我们现在的应用程序如果只部署一台服务器,那并发量是很差的,如果同时有上万的请求那么很有可能造成服务器压力过大,而瘫痪。想想双十一 和 三十晚上十点分支付宝红包等业原创 2020-07-24 00:25:38 · 513 阅读 · 0 评论 -
一文入魂!两万字深度介绍分布式!
WeTest导读我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ、微信、淘宝。那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始,探寻服务器端系统技术的基础概念。承载量是分布式系统存在的原因当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙。当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了。因此,在互联网程序员解决服务器.原创 2020-06-23 21:52:31 · 647 阅读 · 0 评论 -
ElasticSearch的基本概念和集群分布式底层实现你都知道吗?
深度分页引发的机器性能问题最近碰到一个ElasticSearch深度分页搜索,导致cpu占用过高问题,通过查阅ElasticSearch: 权威指南,了解到了深度分页为何会引起机器资源占用:在集群系统中深度分页为了理解为什么深度分页是有问题的,让我们假设在一个有5个主分片的索引中搜索。当我们请求结果的第一页(结果1到10)时,每个分片产生自己最顶端10个结果然后返回它们给请求节(requesting node),它再排序这所有的50个结果以选出顶端的10个结果。现在假设我们请求第1000页—原创 2020-06-18 23:05:15 · 483 阅读 · 0 评论 -
Spring Boot 分布式锁的实现!
前言面试总是会被问到有没有用过分布式锁、redis 锁,大部分读者平时很少接触到,所以只能很无奈的回答 “没有”。本文通过 Spring Boot 整合 redisson 来实现分布式锁,并结合 demo 测试结果。首先看下大佬总结的图正文添加依赖 <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> &.原创 2020-06-01 20:46:17 · 514 阅读 · 1 评论