上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 1.调用顺序 其实分布式系统接口的调用顺序,也是个问题,一般来说是不用保证顺序的。但是有的时候可能确实是需要严格的顺序保证。给大家举个例子,你服务A调用服务B,先插入再删除。好,结果俩请求过去了,落在不同机器上,可能插入请求因为某些原因执行慢了一些,导致删除请求先执行了,此时因为没数据所以啥效果也没 阅读全文
posted @ 2019-05-25 12:33 一条路上的咸鱼 阅读(1420) 评论(0) 推荐(0) 编辑
摘要: 1.幂等性 所谓幂等性,就是说一个接口,多次发起同一个请求,你这个接口得保证结果是准确的,比如不能多扣款,不能多插入一条数据,不能将统计值多加了1。这就是幂等性。 2.如何保证幂等性 ①对于每个请求必须有一个唯一的标志,比如订单支付请求,必须要包含订单的id,一个id只能支付一次。 ②每次处理完请求 阅读全文
posted @ 2019-05-25 12:21 一条路上的咸鱼 阅读(999) 评论(0) 推荐(0) 编辑
摘要: 1.服务治理 服务治理主要作用是改变运行时服务的行为和选址逻辑,达到限流,权重配置等目的。 ①调用链路自动生成 一个大型的分布式系统,会由大量的服务组成,那么这些服务之间的依赖关系和调用链路会很复杂,这就需要dubbo对多个服务之间的调用自动记录下来,生成一张图,显示出来。 ②服务反复问压力以及时长 阅读全文
posted @ 2019-05-25 11:53 一条路上的咸鱼 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 1.什么是SPI机制 SPI 全称为 Service Provider Interface,是一种服务发现机制。 SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。 正因此特性,我们可以很容易的通过 SPI 机制为我们 阅读全文
posted @ 2019-05-25 02:21 一条路上的咸鱼 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 1.dubbo负载均衡策略 ① random loadbalance 策略 默认情况下,dubbo是random loadbalance 随机调用实现负载均衡,可以对provider不同实例设置不同的权重,会按照权重来进行负载均衡,权重越大分配的流量越高,一般就用这个默认的就可以了。 ② round 阅读全文
posted @ 2019-05-25 01:58 一条路上的咸鱼 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 1.dubbo的通信协议 ①dubbo协议 Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 特点 : dubbo缺省协议,使用的是基于netty+hessian的tbremoting交互。 连接个数:单连接。 连接 阅读全文
posted @ 2019-05-25 01:36 一条路上的咸鱼 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 1.dubbo的工作原理 ①整体设计 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 C 阅读全文
posted @ 2019-05-25 00:46 一条路上的咸鱼 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 1.为什么进行拆分 ①项目过于庞大维护困难。 如果系统过去庞大,那么代码会有很多,达到几十万行上百行,这样就需要很多人一起来维护一份代码,这样就很容易造成各种冲突,这样光合并代码就会浪费大量的时间在上面。 ②项目发布复杂。 一个小bug的修改发布需要整个系统全部进行重新发布,这样就很麻烦,不但发布后 阅读全文
posted @ 2019-05-24 23:40 一条路上的咸鱼 阅读(865) 评论(0) 推荐(0) 编辑
摘要: redis cluster是redis提供的集群模式。 1.redis cluster的架构 ①可以有多个master node,每个master node 都可以挂载多个slave node。 ②读写分离的架构,对应每个master node来说,写就写到master node,读就从master 阅读全文
posted @ 2019-05-24 02:46 一条路上的咸鱼 阅读(2976) 评论(0) 推荐(0) 编辑
摘要: 1.什么是并发竞争 就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。 2.怎么解决 采用分布式锁+数据修改的时间戳 方案来解决。 ①想要向缓存中写入数据时,必须要获得分布式锁,只有获得锁 阅读全文
posted @ 2019-05-23 23:48 一条路上的咸鱼 阅读(513) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页