![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
zipo
这个作者很懒,什么都没留下…
展开
-
为什么Eureka比ZooKeeper更适合做服务发现?
Eureka的优势1、在Eureka平台中,如果某台服务器宕机,Eureka不会有类似于ZooKeeper的选举leader的过程;客户端请求会自动切换到新的Eureka节点;当宕机的服务器重新恢复后,Eureka会再次将其纳入到服务器集群管理之中;而对于它来说,所有要做的无非是同步一些新的服务注册信息而已。所以,再也不用担心有“掉队”的服务器恢复以后,会从Eureka服务器集群中剔除出去的风转载 2017-03-06 19:27:41 · 17077 阅读 · 1 评论 -
官网中关于Redis + Sentinel主从切换的一些说明
在redis官网中关于redis + Sentinel主从切换的一些说明,主从切换会丢失数据,无论用何种持久化方式都无法保证主从数据强一致性。 在每个Sentinel设置里,redis数据复制是异步的,总是会有丢失写入数据的风险,因为一个确认写入的数据不能到达新的master。就如上面的设置,有很大的风险,由于客户端分区在老的master里。如图所示。 在这个案...原创 2018-10-07 16:37:44 · 1265 阅读 · 0 评论 -
解决dubbo中遇到HessianProtocolException: 'xxxException' could not be instantiated的问题
在项目中遇到dubbo的consumer无法捕获到provider的自定义异常的问题,HessianProtocolException: 'xxxxException' could not be instantiated。com.alibaba.com.caucho.hessian.io.HessianProtocolException: 'xxxxException' could no...原创 2018-10-07 16:24:39 · 14851 阅读 · 0 评论 -
spring @vaule获取不到值
1)当SpringMVC与Spring整合使用的时候,在Controller中无法获取@Value对应的值。(刚开始我就是这种情况,,,,) 产生原因: 只在applicationContext中添加了扫描,没有在SpringMVC对应的配置文件中扫描。 applicationContext加载的是父容器,,父容器在项目启动的时候就被加载了。Spri...转载 2018-08-02 01:00:53 · 1334 阅读 · 0 评论 -
解决dubbo HessianProtocolException: 'xxxx' could not be instantiated
解决了在sso项目中遇到dubbo的comsuer无法捕捉到provider的自定义异常的问题。com.alibaba.com.caucho.hessian.io.HessianProtocolException: 'com.xxxx.opensso.utils.SSOException' could not be instantiatedat com.alibaba.com.caucho....原创 2018-07-18 22:38:15 · 8292 阅读 · 1 评论 -
reactor模式透彻理解和难点解析
网上reactor模式的解析文章很多,但是都很范范,看了以后感觉理解的还是很模糊。图片待传今天遇到一个问题:Initiation Dispatcher根据handle选择Event handler的,为什么调用select (handlers);?首先handle不等于type,handle是fd(socket打开的描述符)Initiation Dispatcher原创 2017-10-12 15:05:06 · 1016 阅读 · 0 评论 -
linux下Epoll模式
Linux Epoll介绍和程序实例1. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TP转载 2017-09-25 14:16:50 · 586 阅读 · 0 评论 -
EPOLL内核源代码实现原理分析
epoll的实现主要依赖于一个迷你文件系统:eventpollfs。此文件系统通过eventpoll_init初始化。在初始化的过程中,eventpollfs create两个slub分别是:epitem和eppoll_entry。epoll使用过程中有几个基本的函数分别是epoll_create,epoll_ctl,epoll_wait。涉及到四个重要的数据结构: struct ev转载 2017-10-01 19:17:58 · 301 阅读 · 0 评论 -
堆内存和堆外内存
HeapByteBuffer与DirectByteBuffer,在原理上,前者可以看出分配的buffer是在heap区域的,其实真正flush到远程的时候会先拷贝得到直接内存,再做下一步操作(考虑细节还会到OS级别的内核区直接内存),其实发送静态文件最快速的方法是通过OS级别的send_file,只会经过OS一个内核拷贝,而不会来回拷贝;在NIO的框架下,很多框架会采用DirectByteBuff转载 2017-09-27 17:08:27 · 422 阅读 · 0 评论 -
Nio总结之Selector
Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。selector是实现多路复用调用linux的epoll关键。 public static Selector open() throws IOException { return Sele转载 2017-09-24 23:33:34 · 314 阅读 · 0 评论 -
Nio总结之Channel与Buffer
java nio 三大基本组件Channel、Buffer、Selector,三大组件的关系,channel下面是buffer。在java nio中,我们是面向块(block)或是缓冲区(buffer)编程的。buffer本身就是一块内存,底层实现上,它实际上是个数组。数据的读、写都通过buffer来实现的。channel是通道的含义,数据不可以直接在channel处理,必须把数据读取转载 2017-09-22 22:01:34 · 949 阅读 · 0 评论 -
彻底解决SLF4J: Class path contains multiple SLF4J bindings.
springboot项目跑起来后,一直报SLF4J包冲突,看着很烦。Connected to the target VM, address: '127.0.0.1:64448', transport: 'socket'SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:...原创 2018-11-28 11:13:12 · 99353 阅读 · 8 评论