随笔分类 -  Web前端

摘要:问你Dubbo底层架构原理是一样的,不求你说能看过Spring Cloud的源码,单单就是说搞明白他的一些底层架构原理,也是不错的 Eureka、Ribbon、Feign、Zuul 就是优化并发冲突 如果你基于Spring Cloud对外发布一个接口,实际上就是支持http协议的,对外发布的就是一个 阅读全文
posted @ 2021-04-21 10:51 双城孙宇 阅读(83) 评论(0) 推荐(0)
摘要:这个面试题还是挺常见的,在面试突击第一季里,基本上带了一下,当时但是没有细讲,是因为当时面试突击第一季里对服务框架的原理没有做一个相对深入一点点的分析,当时主要就是讲了一些最基本的概念 人家并不是要你现场手撸一个RPC框架,也不是说让你进来了以后就是让你来研发RPC框架的 系统设计的问题,就是让你站 阅读全文
posted @ 2021-04-21 09:42 双城孙宇 阅读(246) 评论(0) 推荐(0)
摘要:两点,第一点,是核心的组件全部接口化,组件和组件之间的调用,必须全部是依托于接口,去动态找配置的实现类,如果没有配置就用他自己默认的 第二点,提供一种自己实现的组件的配置的方式,比如说你要是自己实现了某个组件,配置一下,人家到时候运行的时候直接找你配置的那个组件即可,作为实现类,不用自己默认的组件了 阅读全文
posted @ 2021-04-20 21:11 双城孙宇 阅读(86) 评论(0) 推荐(0)
摘要:如果问到Dubbo底层原理,肯定除了上一讲的底层架构,你能说出来之外,还很可能会追问几个问题,网络通信这块原理的话 netty来举例,NIO来实现的,一台机器同时抗高并发的请求 阅读全文
posted @ 2021-04-20 20:55 双城孙宇 阅读(245) 评论(0) 推荐(0)
摘要:分布式系统 拆分为了多个子系统之后,各个系统之间如何通过Spring Cloud服务框架来进行调用,Dubbo框架来进行调用 提供接口 服务注册中心: ###消费者 动态代理:Proxy 负载均衡:Cluster,负载均衡,故障转移 注册中心:Registry 通信协议:Protocol,filte 阅读全文
posted @ 2021-04-20 20:17 双城孙宇 阅读(108) 评论(0) 推荐(0)
摘要:作为合格的工程师,行业里主流的分布式服务技术栈,Dubbo和Spring Cloud两种,有的公司他是用Dubbo的,不用Spring Cloud的,有的公司是用Spring Cloud的,不用Dubbo的,他们是代表了两种主流技术栈 Java工程师,Dubbo和Spring Cloud起码是基本原 阅读全文
posted @ 2021-04-20 16:24 双城孙宇 阅读(151) 评论(0) 推荐(0)
摘要:#(1)如何实现mysql的读写分离? 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。 #(2)MySQL主从复制原理的是啥? 主库将变更写binlog日志,然后从库连接到主库之后,从库有一个IO线程,将主库的b 阅读全文
posted @ 2021-04-20 09:35 双城孙宇 阅读(129) 评论(0) 推荐(0)
摘要:#(1)数据库自增id 这个就是说你的系统里每次得到一个id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个id。拿到这个id之后再往对应的分库分表里去写入。 这个方案的好处就是方便简单,谁都会用;缺点就是单库生成自增id,要是高并发的话,就会有瓶颈的;如果你硬是要 阅读全文
posted @ 2021-04-19 14:57 双城孙宇 阅读(164) 评论(0) 推荐(0)
摘要:#(1)停机扩容(不推荐) 这个方案就跟停机迁移一样,步骤几乎一致,唯一的一点就是那个导数的工具,是把现有库表的数据抽出来慢慢倒入到新的库和表里去。但是最好别这么玩儿,有点不太靠谱,因为既然分库分表就说明数据量实在是太大了,可能多达几亿条,甚至几十亿,你这么玩儿,可能会出问题。 从单库单表迁移到分库 阅读全文
posted @ 2021-04-19 11:11 双城孙宇 阅读(232) 评论(0) 推荐(0)
摘要:#(1)停机迁移方案 我先给你说一个最low的方案,就是很简单,大家伙儿凌晨12点开始运维,网站或者app挂个公告,说0点到早上6点进行运维,无法访问。。。。。。 接着到0点,停机,系统挺掉,没有流量写入了,此时老的单库单表数据库静止了。然后你之前得写好一个导数的一次性工具,此时直接跑起来,然后将单 阅读全文
posted @ 2021-04-18 21:32 双城孙宇 阅读(136) 评论(0) 推荐(0)
摘要:#(1)为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?) 说白了,分库分表是两回事儿,大家可别搞混了,可能是光分库不分表,也可能是光分表不分库,都有可能。我先给大家抛出来一个场景。 假如我们现在是一个小创业公司(或者是一个BAT公司刚兴起的一个新部门),现在注册用户就20万,每天活 阅读全文
posted @ 2021-04-18 16:50 双城孙宇 阅读(103) 评论(0) 推荐(0)
摘要:其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并发?为啥高并发就很牛逼? 我说的浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据库支撑到每秒并发两三千的时候,基本就快完了。所以才有说,很多公司,刚开始干的时候,技术比较low,结果业务发展太快,有 阅读全文
posted @ 2021-04-18 15:02 双城孙宇 阅读(585) 评论(0) 推荐(0)
摘要:#(1)两阶段提交方案/XA方案 也叫做两阶段提交事务方案,这个举个例子,比如说咱们公司里经常tb是吧(就是团建),然后一般会有个tb主席(就是负责组织团建的那个人)。 tb,team building,团建 第一个阶段,一般tb主席会提前一周问一下团队里的每个人,说,大家伙,下周六我们去滑雪+烧烤 阅读全文
posted @ 2021-04-17 21:21 双城孙宇 阅读(119) 评论(0) 推荐(0)
摘要:session是啥?浏览器有个cookie,在一段时间内这个cookie都存在,然后每次发请求过来都带上一个特殊的jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的session域,里面可以放点儿数据。 一般只要你没关掉浏览器,cookie还在,那么对应的那个sessio 阅读全文
posted @ 2021-04-17 19:06 双城孙宇 阅读(92) 评论(0) 推荐(0)
摘要:#(1)redis分布式锁 官方叫做RedLock算法,是redis官方支持的分布式锁算法。 这个分布式锁有3个重要的考量点,互斥(只能有一个客户端获取锁),不能死锁,容错(大部分redis节点创建了这个锁就可以) redis最普通的分布式锁的实现原理 RedLock算法 #(2)zk分布式锁 zk 阅读全文
posted @ 2021-04-17 16:31 双城孙宇 阅读(155) 评论(0) 推荐(0)
摘要:(1)分布式协调:这个其实是zk很经典的一个用法,简单来说,就好比,你A系统发送个请求到mq,然后B消息消费之后处理了。那A系统如何知道B系统的处理结果?用zk就可以实现分布式系统之间的协调工作。A系统发送请求之后可以在zk上对某个节点的值注册个监听器,一旦B系统处理完了就修改zk那个节点的值,A立 阅读全文
posted @ 2021-04-17 14:36 双城孙宇 阅读(904) 评论(0) 推荐(0)
摘要:(1)上来你的服务就得去注册中心注册吧,你是不是得有个注册中心,保留各个服务的信息,可以用zookeeper来做,对吧 (2)然后你的消费者需要去注册中心拿对应的服务信息吧,对吧,而且每个服务可能会存在于多台机器上 (3)接着你就该发起一次请求了,咋发起?蒙圈了是吧。当然是基于动态代理了,你面向接口 阅读全文
posted @ 2021-04-17 13:53 双城孙宇 阅读(88) 评论(0) 推荐(0)
摘要:其实分布式系统接口的调用顺序,也是个问题,一般来说是不用保证顺序的。但是有的时候可能确实是需要严格的顺序保证。给大家举个例子,你服务A调用服务B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时因为没数据所以啥效果也没有;结果这个时 阅读全文
posted @ 2021-04-17 13:42 双城孙宇 阅读(142) 评论(0) 推荐(0)
摘要:这个不是技术问题,这个没有通用的一个方法,这个是结合业务来看应该如何保证幂等性的,你的经验。 所谓幂等性,就是说一个接口,多次发起同一个请求,你这个接口得保证结果是准确的,比如不能多扣款,不能多插入一条数据,不能将统计值多加了1。这就是幂等性,不给大家来学术性词语了。 其实保证幂等性主要是三点: ( 阅读全文
posted @ 2021-04-17 11:20 双城孙宇 阅读(176) 评论(0) 推荐(0)
摘要:spi,简单来说,就是service provider interface,说白了是什么意思呢,比如你有个接口,现在这个接口有3个实现类,那么在系统运行的时候对这个接口到底选择哪个实现类呢?这就需要spi了,需要根据指定的配置或者是默认的配置,去找到对应的实现类加载进来,然后用这个实现类的实例对象。 阅读全文
posted @ 2021-04-17 10:03 双城孙宇 阅读(148) 评论(0) 推荐(0)