架构
Garry1115
关注微信公众号“虾米聊吧”,获取更多技术知识干货,一起交流,一起学习~
展开
-
分布式锁是啥?zk还是redis?
关于分布式系统中应该考虑的几个问题包括诸如最基本的分布式锁和分布式事务等。该篇中我们将简单来聊聊分布式锁相关知识,比如常见的分布式锁的实现方式有哪些?redis如何设计分布式锁?zk如何设计分布式锁?以及这两种方式哪种效率更高?1.redis分布式锁最常见的一种方式也被称为“原生方式”,即不采用任何redis相关的第三方框架的方式。采用setnx指令的设置一个key,比如set...原创 2020-05-07 09:21:36 · 578 阅读 · 0 评论 -
redis缓存穿透、缓存雪崩、缓存击穿、并发竞争
关注微信公众号“虾米聊吧”,每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流。缓存穿透、缓存雪崩、缓存击穿、并发竞争是缓存最常见的几个问题,接下来我们简单谈谈关于这他们的出现场景以及可能的解决方案都有哪些?**缓存穿透**概念:是指查询一个不存在的数据,由于缓存无法命中,该请求将去查询数据库,但是数据库也无此记录,并且出于容错考虑,我们没...原创 2020-04-30 17:22:19 · 364 阅读 · 0 评论 -
redis过期策略和淘汰机制你知道多少?
关注微信公众号“虾米聊吧”,每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流。开篇提问:你是否遇到过生产环境redis丢数据的问题?比如你刚刚写入了一堆数据到redis,然后过了一会就没了,那么这是什么原因造成的呢?接下来我们简单探讨一下这个问题。首先要明确一点,redis是用来做缓存的并不是用来做常规存储的,千万不要什么数据都一股脑往里面丢...原创 2020-04-28 17:54:48 · 333 阅读 · 0 评论 -
redis常用数据类型的场景,你真的用对了么?
关注微信公众号“虾米聊吧”,每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流。redis常用数据类型的场景,你真的用对了么?redis常用数据类型包含string、hashmap、list、set、sorted set。string类型1) 单值缓存set key value这个没啥好说的2) 对...原创 2020-04-26 16:18:26 · 360 阅读 · 0 评论 -
如何设计一个高并发系统
人人都开始聊高并发,高并发,那么所谓的高并发到底应该是啥,应该怎么理解这个高并发这个概念呢?这么说来就得要思考为啥会产生高并发?简单来说,因为我们从传统的单体项目开始系统都是需要直接连接数据库的,而数据库支撑到每秒并发两三千的时候,基本就快到极限了。因此,当我们刚开始设计系统的时候,就是一个简单的单体项目直连数据库,并没考虑那么多,结果后期由于业务发展太快,有的时候并发流量过大系统扛不住压力然...原创 2020-04-20 09:33:34 · 467 阅读 · 0 评论 -
MQ保证消息的可靠性传输
前景概要:我们在使用mq的时候肯定是希望数据不能多也不能少的,不能多即需要考虑mq的重复消费(幂等性)问题。不能少即不能丢失数据。很明显如果如果你的mq中存放的是非常核心、重要的数据,比如订单数据、积分流水等,这些数据是必须不能丢的,一旦丢失则会造成数据的一致性问题,可能会给公司带来极大损失。丢失数据分析:丢失数据一般来说分为2种情况,一种是数据已经发送到了mq,但是mq...原创 2020-04-09 09:35:42 · 436 阅读 · 0 评论 -
MQ如何保证高可用
上一篇我们通过介绍MQ的基本功能简单的分析了项目中MQ的选型,那么当我们项目中真正使用MQ的时候,必然会涉及到如何保证MQ的高可用,毕竟如果MQ宕机,可能会造成整个调用链路的失败,因此接下来我们简单聊聊MQ的高可用问题。那么如何保证消息队列的高可用呢?由于MQ中间件的类型比较多,因此我们依次对常用的RabbitMq和Kafka进行高可用的剖析。(1)RabbitMQ的高可用性...原创 2020-04-06 10:43:45 · 698 阅读 · 0 评论 -
MQ消息中间件选型
我们在做架构的时候经常面临各种技术框架的选型,其中消息队列基本上对于一些高并发的互联网项目是必不可少的,那么话说回来我们在做消息队列选型的时候是否问过如下几个问题呢? 为什么使用消息队列啊? 消息队列有什么优点和缺点啊? kafka、activemq、rabbitmq、rocketmq都有什么区别以及适合哪些场景? 如果你思考过如上几个问题,那么恭喜你,你正在...原创 2020-04-05 15:18:15 · 400 阅读 · 0 评论 -
java互联网架构师入门进阶之路
作为一个工作了将近6年的后端工程师,深知后端知识领域的范围之广,深度之深,而经过了几年的打磨之后,我们仍然只是那浩瀚知识海洋中非常渺小,微不足道的一粒尘埃。总之一句支撑我们砥砺前行:路漫漫其修远兮,吾将上下而求索!愿你我共勉。话不多说,关于我自身的修炼之路,后续我会通过一篇博文的形式自我总结!今天我们谈的重点是作为一个架构师、或者说一个准?架构师亦或想成为一位后端架构师的童鞋那么应该怎么做呢?...原创 2019-08-10 12:15:53 · 834 阅读 · 0 评论 -
Oauth 2.0概述
传统授权方式账号密码的授权方式存在的问题:1. 用户的账号、密码信息透漏给了第三方应用,导致安全问题;2. 用户要收回授权,只能通过修改密码来实现,此时如果有多个第三方应用,所有授权一起被收回3. 很难安全的实现对不同的第三方应用给予不同的权限Oauth原理需要解决的问题:1. 怎么识别第三方应用身份,怎么保证第三方应用身原创 2017-03-12 20:54:34 · 742 阅读 · 0 评论 -
J2EE 企业级应用架构简述
企业应用的特点多环境多系统的交互海量数据、高并发、高TPS安全等级高自动化集群管理架构的原则CAP原则(一致性、可用性、分区容错性)复杂的事情简单化架构的目标高速缓存并行计算负载均衡数据备份异地容灾业务分离原始版动静分离版原创 2017-03-12 20:12:05 · 4209 阅读 · 0 评论